public TransferLimitViewModel CheckLimit(TransferLimitViewModel model) { if (model.ShiftId == 2) { var efTime = model.EffectiveDate.Value.TimeOfDay; if (efTime >= new TimeSpan(0, 0, 0) && efTime <= new TimeSpan(6, 59, 59)) { model.EffectiveDate = model.EffectiveDate.Value.AddDays(-1); } } var parameters = initParameters(model); var str = new StringBuilder(); str.AppendLine(" select top 1 * from TransferLimitViews as TL where "); str.AppendLine(" TL.RawMaterialId = @RawMaterialId and "); str.AppendLine(" TL.EffectiveDate = @EffectiveDate and "); str.AppendLine(" TL.ShiftId = @ShiftId"); str.AppendLine(" "); var result = DBContext.GetRecord <TransferLimitViewModel>(str.ToString(), parameters); return(result); }
public IActionResult Update([FromBody] EditTransferLimitViewModel model) { var props = new TransferLimitViewModel() { EffectiveDate = model.EffectiveDate, RawMaterialId = model.RawMaterialId, ShiftId = model.ShiftId }; var tlimitVM = _tlRepository.Get(props); if (tlimitVM == null) { return(NotFound("Selected record not found.")); } else { tlimitVM.ComputedLimitKg = model.ComputedLimitKg; } if (ModelState.IsValid) { _tlRepository.Update(tlimitVM); return(Ok(tlimitVM)); } else { return(BadRequest(ModelState.ToJson())); } }
public TransferLimitViewModel CreateIfNotExists(TransferLimitViewModel model) { var parameters = initParameters(model); var qry = new StringBuilder(); qry.AppendLine(" IF NOT EXISTS(Select top 1 * from TransferLimitViews "); qry.AppendLine(" WHERE EffectiveDate = @EffectiveDate "); qry.AppendLine(" AND RawMaterialId = @RawMaterialId "); qry.AppendLine(" AND ShiftId = @ShiftId) "); qry.AppendLine("BEGIN"); qry.AppendLine("insert into TransferLimits ("); qry.AppendLine(nameof(model.DateCreated) + (char)44); qry.AppendLine(nameof(model.EffectiveDate) + (char)44); qry.AppendLine(nameof(model.ShiftId) + (char)44); qry.AppendLine(nameof(model.RawMaterialId) + (char)44); qry.AppendLine(nameof(model.ComputedLimitKg) + (char)44); qry.AppendLine(nameof(model.CreatedById)); qry.AppendLine(") values ("); qry.AppendLine(nameof(model.DateCreated).Parameterize() + (char)44); qry.AppendLine(nameof(model.EffectiveDate).Parameterize() + (char)44); qry.AppendLine(nameof(model.ShiftId).Parameterize() + (char)44); qry.AppendLine(nameof(model.RawMaterialId).Parameterize() + (char)44); qry.AppendLine(nameof(model.ComputedLimitKg).Parameterize() + (char)44); qry.AppendLine(nameof(model.CreatedById).Parameterize()); qry.AppendLine(")"); qry.AppendLine("select @@identity"); qry.AppendLine("END"); model.TransferLimitId = DBContext.ExecuteQueryWithIdentityInt64(qry.ToString(), parameters); return(model); }
public TransferLimitViewModel Create(TransferLimitViewModel model) { var parameters = initParameters(model); StringBuilder qry = new StringBuilder(); qry.AppendLine("insert into TransferLimits ("); qry.AppendLine(nameof(model.DateCreated) + (char)44); qry.AppendLine(nameof(model.EffectiveDate) + (char)44); qry.AppendLine(nameof(model.ShiftId) + (char)44); qry.AppendLine(nameof(model.RawMaterialId) + (char)44); qry.AppendLine(nameof(model.ComputedLimitKg) + (char)44); qry.AppendLine(nameof(model.CreatedById)); qry.AppendLine(") values ("); qry.AppendLine(nameof(model.DateCreated).Parameterize() + (char)44); qry.AppendLine(nameof(model.EffectiveDate).Parameterize() + (char)44); qry.AppendLine(nameof(model.ShiftId).Parameterize() + (char)44); qry.AppendLine(nameof(model.RawMaterialId).Parameterize() + (char)44); qry.AppendLine(nameof(model.ComputedLimitKg).Parameterize() + (char)44); qry.AppendLine(nameof(model.CreatedById).Parameterize()); qry.AppendLine(")"); qry.AppendLine("select @@identity"); model.TransferLimitId = DBContext.ExecuteQueryWithIdentityInt64(qry.ToString(), parameters); return(model); }
public TransferLimitViewModel2 GetStatus(TransferLimitViewModel model) { var parameters = initParameters(model); StringBuilder qry = new StringBuilder(); qry.AppendLine("Select top 1 * from TransferLimitViews2"); qry.AppendLine($"Where {nameof(TransferLimit.EffectiveDate)} = {nameof(TransferLimit.EffectiveDate).Parameterize()}"); qry.AppendLine($"and {nameof(TransferLimit.RawMaterialId)} = {nameof(TransferLimit.RawMaterialId).Parameterize()}"); qry.AppendLine($"and {nameof(TransferLimit.ShiftId)} = {nameof(TransferLimit.ShiftId).Parameterize()}"); var result = DBContext.GetRecord <TransferLimitViewModel2>(qry.ToString(), parameters); return(result); }
public TransferLimitViewModel Get(long id) { var model = new TransferLimitViewModel() { TransferLimitId = id }; var parameters = initParameters(model); StringBuilder qry = new StringBuilder(); qry.AppendLine("Select top 1 * from TransferLimitViews"); qry.AppendLine($"Where {nameof(TransferLimit.TransferLimitId)} = {nameof(TransferLimit.TransferLimitId).Parameterize()}"); var result = DBContext.GetRecord <TransferLimitViewModel>(qry.ToString(), parameters); return(result); }
public TransferLimitViewModel Update(TransferLimitViewModel modelChanges) { var parameters = initParameters(modelChanges); StringBuilder qry = new StringBuilder(); qry.AppendLine(" declare @LimitWarningPercent decimal; set @LimitWarningPercent = (Select top 1 LimitWarningPercent from GeneralSettings) "); qry.AppendLine("Update TransferLimits set"); qry.AppendLine($"{nameof(modelChanges.ShiftId)}={nameof(modelChanges.ShiftId).Parameterize()}" + (char)44); qry.AppendLine($"{nameof(modelChanges.RawMaterialId)}={nameof(modelChanges.RawMaterialId).Parameterize()}" + (char)44); qry.AppendLine($"{nameof(modelChanges.ComputedLimitKg)}={nameof(modelChanges.ComputedLimitKg).Parameterize()}" + (char)44); qry.AppendLine($"{nameof(modelChanges.Modified)}={nameof(modelChanges.Modified).Parameterize()}"); qry.AppendLine($"where {nameof(modelChanges.TransferLimitId)} = {nameof(modelChanges.TransferLimitId).Parameterize()}"); int success = DBContext.ExecuteQuery(qry.ToString(), parameters); return(modelChanges); }
public TransferLimitData GetTransferLimitData(TransferLimitViewModel model) { var tLimit = Get(model); if (tLimit == null) { return(null); } var tLimitAdjs = _tlAdjRepo.List(tLimit.TransferLimitId); var result = new TransferLimitData() { TransferLimitViewModel = tLimit, TransferLimitAdjCollection = tLimitAdjs }; return(result); }
public IActionResult Create([FromBody] TransferLimitViewModel model) { System.Diagnostics.Debug.Write(ModelState.ToJson()); if (ModelState.IsValid) { var existing = _tlRepository.Get(model); if (existing != null) { ModelState.AddModelError(nameof(TransferLimit.ShiftId), "Standard limit already exists."); return(BadRequest(ModelState)); } _tlRepository.Create(model); return(Ok(model)); } else { return(BadRequest(ModelState)); } }
public void AutoGenTransferLimit(DateTime dt, string userId) { var mats = _rawMatRepo.List(); StringBuilder qry = new StringBuilder(); foreach (var mat in mats) { var tLimit = new TransferLimitViewModel(); tLimit.DateCreated = DateTime.Now; tLimit.EffectiveDate = dt; tLimit.ShiftId = 1; tLimit.RawMaterialId = mat.RawMaterialId; tLimit.ComputedLimitKg = 0; tLimit.CreatedBy = userId; Create(tLimit); tLimit.ShiftId = 2; Create(tLimit); } }
public IActionResult CheckLimit([FromBody][Bind(nameof(TransRecordViewModel.TransactionProcess), nameof(TransRecordViewModel.IsOffline), nameof(TransRecordViewModel.DTInbound), nameof(TransRecordViewModel.DTOutbound), nameof(TransRecordViewModel.WtInbound), nameof(TransRecordViewModel.NetWt), nameof(TransRecordViewModel.ActualNetWt), nameof(TransRecord.NetWt), nameof(TransRecord.RawMaterialId), nameof(TransRecord.BinNum))] TransRecordViewModel model) { var isWeighIn = model.TransactionProcess == WeighingSystemCoreHelpers.Enums.Enums.TransactionProcess.WEIGH_IN.ToString(); var isWeighOut = model.TransactionProcess == WeighingSystemCoreHelpers.Enums.Enums.TransactionProcess.WEIGH_OUT.ToString(); var isUpdateOut = model.TransactionProcess == WeighingSystemCoreHelpers.Enums.Enums.TransactionProcess.UPDATE_OUT.ToString(); if (isWeighIn) { model.DTInbound = model.IsOffline ? model.DTOfflineDate : DateTime.Now; } else { model.DTOutbound = model.IsOffline ? model.DTOfflineDate : DateTime.Now; } DateTime?selectedDt = isWeighIn ? model.DTInbound : isWeighOut ? model.DTOutbound : isUpdateOut ? model.DTOutbound : model.DTInbound; var shiftId = _shiftRepository.GetCurrentShift(selectedDt ?? DateTime.Now).ShiftId; var transferLimitVM = new TransferLimitViewModel() { EffectiveDate = selectedDt, ShiftId = shiftId, RawMaterialId = model.RawMaterialId }; var result = _tlRepository.CheckLimit(transferLimitVM); return(Ok(result)); }
public IActionResult Get(DateTime effectiveDate, long rawMaterialId, long shiftId) { try { var model = new TransferLimitViewModel { EffectiveDate = effectiveDate, RawMaterialId = rawMaterialId, ShiftId = shiftId }; var result = _tlRepo.GetTransferLimitData(model); if (result == null) { return(NotFound("Selected record not found.")); } return(Ok(result)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }