コード例 #1
0
 private decimal Convert(decimal fromMeasurement, int fromUoMID, int toUoMID)
 {
     using (UoMConversionService service = new UoMConversionService())
     {
         return(service.ConvertUoM(fromUoMID, fromMeasurement, toUoMID));
     }
 }
        public JsonResult SaveAdjustment(int scrimRollId, int actionTypeId, double adjustment, int uomId, string adjustmentReason)
        {
            TPO.Web.Core.ResponseMessage responseMessage;

            try
            {
                var model = new ScrimActionModel();
                {
                    model.ActionDate  = DateTime.Now;
                    model.PlantId     = CurrentPlantId;
                    model.ScrimRollID = scrimRollId;
                    var uomModel             = GetUomModel(uomId);
                    var uomTypeModel         = GetUomTypeModel(uomModel.TypeID);
                    var scrimActionTypeModel = GetScrimActionTypeModel(actionTypeId);
                    var scrimRollModel       = GetScrimRollModel(scrimRollId);
                    scrimRollModel.IsLoaded = true;
                    model.StartLength       = (double)scrimRollModel.Length;
                    model.StartWeight       = (double)scrimRollModel.Weight;
                    var    uoMConversionService = new UoMConversionService();
                    string adjustmentReasonText;
                    if (uomTypeModel.Code == "L")
                    {
                        model.ActionLength = adjustment;
                        decimal adjustmentLength = uoMConversionService.ConvertUoM(uomId, (decimal)adjustment,
                                                                                   scrimRollModel.LengthUoMID);
                        if (scrimActionTypeModel.Code == "SA")
                        {
                            scrimRollModel.LengthUsed -= adjustmentLength;
                            scrimRollModel.Length     += adjustmentLength;
                            adjustmentReasonText       = "(Adjusted length by " + adjustment + " " + uomModel.Code + ")";
                        }
                        else
                        {
                            scrimRollModel.Length     = adjustmentLength;
                            scrimRollModel.LengthUsed = scrimRollModel.ReceivedLength - scrimRollModel.Length;
                            adjustmentReasonText      = "(Set length to " + adjustment + " " + uomModel.Code + ")";
                        }
                    }
                    else
                    {
                        model.ActionWeight = adjustment;
                        decimal adjustmentWeight = uoMConversionService.ConvertUoM(uomId, (decimal)adjustment,
                                                                                   scrimRollModel.WeightUoMID);
                        if (scrimActionTypeModel.Code == "SA")
                        {
                            scrimRollModel.WeightUsed -= adjustmentWeight;
                            scrimRollModel.Weight     += adjustmentWeight;
                            adjustmentReasonText       = "(Adjusted weight by " + adjustment + " " + uomModel.Code + ")";
                        }
                        else
                        {
                            scrimRollModel.Weight     = adjustmentWeight;
                            scrimRollModel.WeightUsed = scrimRollModel.ReceivedWeight - scrimRollModel.Weight;
                            adjustmentReasonText      = "(Set weight to " + adjustment + " " + uomModel.Code + ")";
                        }
                    }
                    if (adjustmentReason == null)
                    {
                        adjustmentReason = string.Empty;
                    }
                    else
                    {
                        adjustmentReason += " ";
                    }
                    model.DateEntered      = DateTime.Now;
                    model.EndLength        = (double)scrimRollModel.Length;
                    model.EndWeight        = (double)scrimRollModel.Weight;
                    model.EnteredBy        = CurrentUser;
                    model.LastModified     = DateTime.Now;
                    model.ModifiedBy       = CurrentUser;
                    model.RollID           = null;
                    model.TypeID           = actionTypeId;
                    model.UserID           = GetUserModel(CurrentUser).Id;
                    model.ActionReasonText = adjustmentReason + adjustmentReasonText;
                    using (var scrimRollService = new ScrimRollService())
                    {
                        var scrimActionDto = new ScrimActionDto();
                        Mapper.Map(model, scrimActionDto);
                        var scrimRollDto = new ScrimRollDto();
                        Mapper.Map(scrimRollModel, scrimRollDto);
                        scrimRollService.Update(scrimRollDto, scrimActionDto);
                        SetResponseMesssage(ActionTypeMessage.SuccessfulSave);
                    }
                }

                responseMessage = SetResponseMesssage(ActionTypeMessage.SuccessfulSave);
            }
            catch (Exception exc)
            {
                responseMessage = SetResponseMesssage(ActionTypeMessage.FailedSave, exc.Message);
            }

            return(Json(responseMessage, JsonRequestBehavior.AllowGet));
        }