public JsonResult UpdateDirectionPriceList(EXP_PriceListDirectionToPayView model)
        {
            if (ModelState.IsValid)
            {
                DirectionToPayRepository      repository = new DirectionToPayRepository();
                EXP_DirectionToPays_PriceList m          = repository.GetDirectionPriceList(dp => dp.DirectionToPayId == model.DirectionToPayId && dp.PriceListId == model.Id).FirstOrDefault();
                if (m != null)
                {
                    m.Count = model.Count;
                    m.Price = model.Price;
                    m.Total = model.Total;


                    repository.UpdateDirectionPriceList(m);
                    repository.Save();
                }

                var diretionToPay = repository.GetAsQuarable(d => d.Id == model.DirectionToPayId.Value).FirstOrDefault();
                if (diretionToPay != null)
                {
                    diretionToPay.TotalPrice = 0;
                    foreach (var pl in diretionToPay.EXP_DirectionToPays_PriceList)
                    {
                        diretionToPay.TotalPrice += pl.Total;
                    }

                    repository.Update(diretionToPay);
                    repository.Save();
                }
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        public JsonResult CreateDirectionPriceList(EXP_PriceListDirectionToPayView model)
        {
            DirectionToPayRepository repository = new DirectionToPayRepository();

//            if (ModelState.IsValid)
            {
                EXP_DirectionToPays_PriceList m = new EXP_DirectionToPays_PriceList()
                {
                    DirectionToPayId = model.DirectionToPayId.Value,
                    PriceListId      = model.PriceListId.Value,
                    Price            = model.Price,
                    Count            = model.Count,
                    Total            = model.Price * model.Count
                };

                var diretionToPay = repository.GetAsQuarable(d => d.Id == model.DirectionToPayId.Value).FirstOrDefault();
                if (diretionToPay != null)
                {
                    diretionToPay.TotalPrice += m.Total;
                    repository.Update(diretionToPay);
                }

                repository.InsertDirectionPriceList(m);
                repository.Save();
            }

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public void DeleteDirectionPriceList(Guid directionToPayId, Guid priceListId)
        {
            EXP_DirectionToPays_PriceList entityToDelete = AppContext.EXP_DirectionToPays_PriceList
                                                           .FirstOrDefault(dp => dp.DirectionToPayId == directionToPayId && dp.PriceListId == priceListId);

            DeleteDirectionPriceList(entityToDelete);
        }
Example #4
0
        public void DeleteDirectionPriceList(EXP_DirectionToPays_PriceList model)
        {
            AppContext.Entry(model).State = EntityState.Modified;

            if (AppContext.Entry(model).State == EntityState.Detached)
            {
                AppContext.EXP_DirectionToPays_PriceList.Attach(model);
            }

            var entToDelete = model as ISoftDeleteEntity;

            if (entToDelete != null)
            {
                entToDelete.DeleteDate = DateTime.Now;
                UpdateDirectionPriceList(model);
            }
            else
            {
                AppContext.EXP_DirectionToPays_PriceList.Remove(model);
            }
        }
Example #5
0
 public void UpdateDirectionPriceList(EXP_DirectionToPays_PriceList model)
 {
     AppContext.EXP_DirectionToPays_PriceList.Attach(model);
     AppContext.Entry(model).State = EntityState.Modified;
 }
Example #6
0
 public void InsertDirectionPriceList(EXP_DirectionToPays_PriceList model)
 {
     AppContext.EXP_DirectionToPays_PriceList.Add(model);
 }