Hi Team
I am trying to fetch date column, im using entity from Manager uses class has a store proc(this has a table in the table). Here is my logic below. The problem with this code i only get the current DateTime, this logic is not correct it must pull from the table then users must not edit the date in UI.
// xaml code
<Label x:Name="lblDate" FontWeight="SemiBold" Visibility="Visible" Content="Date:" HorizontalAlignment="Left" VerticalAlignment="Top" Width="179" HorizontalContentAlignment="Right" Background="#FFE3E3E3" Margin="20,60,0,0" BorderThickness="1" BorderBrush="#FFBEBEBE"/>
<TextBox x:Name="DateTextBox" FontSize="10" Foreground="Black" HorizontalAlignment="Left" Visibility="Visible" Height="26" Margin="205,60,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="210" RenderTransformOrigin="1.19,-3.084" Text="{Binding Date, UpdateSourceTrigger=PropertyChanged, StringFormat=d}"/>
// xaml cs code
// view class
public DateTime Date
{
get
{
DateTime date;
if (DateTime.TryParse(DateTextBox.Text, out date))
{
if (date != DateTime.MinValue)
{
return date;
}
}
return DateTime.Now;
}
set
{
DateTextBox.Text = value.ToString("M/d/yyyy");
}
}
// method must use to get this column uses store proc
public void GetDateForBatch(int batchNumber)
{
Managers.PremixControlManager.SetAdriotConnection();
var controlSheet = Managers.PremixControlManager.GetPremixControlByPK(batchNumber);
if (controlSheet != null)
{
View.Date = controlSheet.Date;
}
else
{
View.Date = DateTime.MinValue;
}
}
// class fetches store proc from the DB
class PremixControlManager
{
//get primary key from the table.
public static PremixControl GetPremixControlByPK(int batchID)
{
return DataAccessProvider.GetEntity<PremixControl>(PremixControl.PROC_NAME_GET,new object[] { "PK", batchID, null, null, null, null, null, null, null, null, null }
);
}
// interface
public interface IPremixBatch {
DateTime Date { get; set; }
}
// presenter
public void GetDateForBatch(int batchNumber)
{
Managers.PremixControlManager.SetAdriotConnection();
var controlSheet = Managers.PremixControlManager.GetPremixControlByPK(batchNumber);
if (controlSheet != null)
{
View.Date = controlSheet.Date;
}
else
{
View.Date = DateTime.MinValue;
}
}