public override ActionResult _Update(PaymentReceiptDetails data, GridCommand command, bool isNew = false)
        {
            try {
                if (data.Apply_Amount == data.Balance_Amount)
                {
                    data.Paid_In_Full = true;
                }

                ValidateEntity(data);

                if (ModelState.IsValid)
                {
                    if (isNew)
                    {
                        //TODO: Add logic to update in memory data
                        TempEntityList.SingleOrDefault(m => m.ID == data.ID).InjectFrom(data);
                        //UpdateUnPaidExpenses(data);
                    }
                    else
                    {
                        using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                            IsolationLevel = IsolationLevel.ReadCommitted
                        })) {
                            Library.Modify(data, new string[] { "Settlement", "PaymentReceipt", "ExpenseRequest" });
                            scope.Complete();
                        }
                    }
                }
            }
            catch (Exception ex) {
                if (ex.GetBaseException() is smART.Common.DuplicateException)
                {
                    ModelState.AddModelError("Error", ex.GetBaseException().Message);
                }
                else
                {
                    ModelState.AddModelError("Error", ex.Message);
                }
            }

            return(Display(command, data.PaymentReceipt.ID.ToString(), isNew));
        }
Пример #2
0
        private void SetPrimaryAddress(AddressBook entity)
        {
            IEnumerable <AddressBook> resultList = null;

            if (entity.Party.ID > 0)
            {
                resultList = new AddressBookLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetAllByParentID(entity.Party.ID);
            }
            else
            {
                resultList = (IList <AddressBook>)Session["AddressBook"];
            }
            if (entity.Primary_Flag == true)
            {
                var oldPrimaryAdd = resultList == null ? null : resultList.Where(o => o.Primary_Flag == true && o.ID != entity.ID).FirstOrDefault();

                if (oldPrimaryAdd != null)
                {
                    oldPrimaryAdd.Primary_Flag = false;
                    if (entity.Party.ID > 0)
                    {
                        Library.Modify(oldPrimaryAdd);
                    }
                    else
                    {
                        TempEntityList.SingleOrDefault(m => m.ID == oldPrimaryAdd.ID).InjectFrom(oldPrimaryAdd);
                    }
                }
            }
            else
            {
                var oldPrimaryAdd = resultList == null ? null : resultList.Where(o => o.Primary_Flag == true).FirstOrDefault();
                if (oldPrimaryAdd == null)
                {
                    entity.Primary_Flag = true;
                }
            }
        }
        public override ActionResult _Delete(string id, GridCommand command, string MasterID = null, bool isNew = false)
        {
            string filePath;
            string fileName;

            try {
                if (isNew)
                {
                    //TODO: Delete entity with id
                    TEntity entity = TempEntityList.SingleOrDefault(m => m.ID == int.Parse(id));
                    filePath = _fileHelper.GetTempSourceDirByFileRefId(entity.Document_RefId.ToString());// Path.Combine(Configuration.GetsmARTTempDocPath(), entity.Document_RefId.ToString());
                    fileName = entity.Document_Name;
                    TempEntityList.Remove(entity);
                }
                else
                {
                    TEntity entity = Library.GetByID(id);

                    filePath = _fileHelper.GetSourceDirByFileRefId(entity.Document_RefId.ToString());
                    fileName = entity.Document_Name;

                    Library.Delete(id);
                }

                _fileHelper.RemoveFile(fileName, filePath);
            }
            catch (Exception ex) {
                ModelState.AddModelError("Error", ex.Message);
            }
            if (string.IsNullOrEmpty(MasterID))
            {
                return(Display(command, isNew));
            }
            else
            {
                return(Display(command, MasterID, isNew));
            }
        }
Пример #4
0
        public override ActionResult _Update(PaymentReceiptDetails data, GridCommand command, bool isNew = false)
        {
            try {
                if (!isNew && !IsApplied_AmountZero(data))
                {
                    ModelState.AddModelError("Applied_Amount", "Receipt details amount mismetch to total amount.");
                }

                if (ModelState.IsValid)
                {
                    if (isNew)
                    {
                        //TODO: Add logic to update in memory data
                        TempEntityList.SingleOrDefault(m => m.ID == data.ID).InjectFrom(data);
                    }
                    else
                    {
                        using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                            IsolationLevel = IsolationLevel.ReadCommitted
                        })) {
                            Library.Modify(data, new string[] { "Invoice", "PaymentReceipt" });
                            scope.Complete();
                        }
                    }
                }
            }
            catch (Exception ex) {
                if (ex.GetBaseException() is smART.Common.DuplicateException)
                {
                    ModelState.AddModelError("Error", ex.GetBaseException().Message);
                }
                else
                {
                    ModelState.AddModelError("Error", ex.Message);
                }
            }
            return(Display(command, data.PaymentReceipt.ID.ToString(), isNew));
        }
 public override ActionResult _Insert(SettlementDetails data, GridCommand command, bool isNew = false)
 {
     ModelState.Clear();
     Validate(data);
     if (ModelState.IsValid)
     {
         ScaleDetailsLibrary ScaleDetailsLibrary = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
         ScaleDetails        scaleDetails        = ScaleDetailsLibrary.GetByID(data.Scale_Details_ID.ID.ToString(), new string[] { "Scale", "Scale.Purchase_Order", "Item_Received", "Apply_To_Item" });
         data.Scale_Details_ID.Scale.ID             = scaleDetails.Scale.ID;
         data.Scale_Details_ID.Apply_To_Item        = scaleDetails.Apply_To_Item;
         data.Scale_Details_ID.Scale                = scaleDetails.Scale;
         data.Scale_Details_ID.Contamination_Weight = scaleDetails.Contamination_Weight;
         data.Scale_Details_ID.Split_Value          = scaleDetails.Split_Value;
         if (string.IsNullOrWhiteSpace(data.Item_UOM) || data.Item_UOM == "LBS")
         {
             data.Item_UOM           = "LBS";
             data.Item_UOM_Conv_Fact = 1;
             data.Item_UOM_NetWeight = data.Actual_Net_Weight;
         }
         TempEntityList.SingleOrDefault(m => m.Scale_Details_ID.ID == data.Scale_Details_ID.ID).InjectFrom(data);
         ModelState.Clear();
     }
     return(Display(command, data.Scale_Details_ID.Scale.ID.ToString(), isNew));
 }