コード例 #1
0
        public ActionResponse <DailyRequest> Save_Daily(DailyRequest model)
        {
            ActionResponse <DailyRequest> response = new ActionResponse <DailyRequest>()
            {
                Response     = model,
                ResponseType = ResponseType.Ok
            };

            using (MspDbContext _db = new MspDbContext())
            {
                using (DbContextTransaction transaction = _db.Database.BeginTransaction())
                {
                    try
                    {
                        int saleOwnerId = 0;
                        if (response.Response.dailyOwner.RecId == 0)
                        {
                            DailyOwner dailyOwner = base.Map <DailyOwnerDTO, DailyOwner>(model.dailyOwner);
                            _db.DailyOwner.Add(dailyOwner);
                            _db.SaveChanges();
                            saleOwnerId = dailyOwner.RecId;
                        }
                        else
                        {
                            var entity = _db.DailyOwner.FirstOrDefault(x => x.RecId == response.Response.dailyOwner.RecId);
                            if (entity != null)
                            {
                                _db.Entry(entity).CurrentValues.SetValues(model.dailyOwner);
                                _db.Entry(entity).State = System.Data.Entity.EntityState.Modified;
                            }
                        }


                        foreach (var item in model.dailyTrans)
                        {
                            if (item.RecId == 0)
                            {
                                item.OwnerId = saleOwnerId;
                                _db.DailyTrans.Add(base.Map <DailyTransDTO, DailyTrans>(item));
                            }
                            else
                            {
                                var entity = _db.DailyTrans.FirstOrDefault(x => x.RecId == item.RecId);
                                if (entity != null)
                                {
                                    _db.Entry(entity).CurrentValues.SetValues(item);
                                    _db.Entry(entity).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                        }
                        _db.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception e)
                    {
                        transaction.Rollback();
                        response.Message      = e.ToString();
                        response.ResponseType = ResponseType.Error;
                    }
                }
            }
            return(response);
        }
コード例 #2
0
ファイル: frmDailyStart.cs プロジェクト: ademaydogdu/msp
        private void do_Save()
        {
            try
            {
                var control = _repository.Run <DailyService, List <DailyOwnerDTO> >(x => x.Get_List_DailyOwner_Control());
                if (control.Count > 0)
                {
                    XtraMessageBox.Show("Bugün için oluşturulan Gün Sonu işlemleri Vardır. Lütfen Siliniz.", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                //1-Gelir/2-Gider/Expense - Gider//Revune - Gelir
                _saleOwner = _repository.Run <SaleService, List <SaleOwnerDTO> >(x => x.GetList_Date(DateTime.Today));
                var caseMovements = _repository.Run <CaseService, List <CaseMovementDTO> >(x => x.Get_List_CaseMovement_Date(AppMain.CompanyRecId));
                _caseMovements = caseMovements.Where(x => x.SaleOwnerId == null || x.SaleOwnerId == 0).ToList();
                decimal _saleAmount = _saleOwner.Sum(x => x.TotalPrice.GetValueOrDefault());
                decimal __Amount    = _saleOwner.Sum(x => x.TotalPrice.GetValueOrDefault()) + _caseMovements.Where(x => x.IslemTuru == 1).Sum(x => x.Tutar.GetValueOrDefault());

                DailyOwnerDTO DailyOwner = new DailyOwnerDTO()
                {
                    Date             = DateTime.Now,
                    CompanyRecId     = AppMain.CompanyRecId,
                    Deleted          = false,
                    Remark           = DateTime.Today.ToString() + " - " + textEdit1.EditValue.ToString(),
                    Amount           = __Amount - _caseMovements.Where(x => x.IslemTuru == 2).Sum(x => x.Tutar.GetValueOrDefault()),
                    SaleAmount       = _saleAmount,
                    CardAmount       = _saleOwner.Where(x => x.PaymentType == 2).Sum(x => x.TotalPrice),
                    CashAmount       = _saleOwner.Where(x => x.PaymentType == 1).Sum(x => x.TotalPrice),
                    RetailSaleCount  = _saleOwner.Count,
                    RetailSaleAmount = _saleAmount,
                    Revenue          = __Amount,
                    Expense          = _caseMovements.Where(x => x.IslemTuru == 2).Sum(x => x.Tutar),
                };

                #region DailyTrans

                foreach (var item in _saleOwner)
                {
                    var saleTrans = _repository.Run <SaleService, List <SaleTransDTO> >(x => x.Get_List_SaleOwner(item.RecId));
                    if (saleTrans.Count > 0)
                    {
                        _saleTrans.AddRange(saleTrans);
                    }
                }

                foreach (var item in _saleTrans)
                {
                    DailyTransDTO dailyTrans = new DailyTransDTO()
                    {
                        Date         = DateTime.Now,
                        SaleTransId  = item.SaleOwnerId,
                        Quantity     = item.ProductQuantity,
                        Amount       = item.ProductPrice,
                        CaseOwnerId  = 0,
                        Type         = 1,
                        CompanyRecId = AppMain.CompanyRecId,
                        OwnerId      = 0
                    };
                    _dailyTrans.Add(dailyTrans);
                }

                foreach (var item in _caseMovements)
                {
                    DailyTransDTO dailyTrans = new DailyTransDTO()
                    {
                        Amount       = item.Tutar,
                        Type         = 2,
                        SaleTransId  = 0,
                        CaseOwnerId  = item.RecId,
                        Quantity     = 0,
                        CompanyRecId = AppMain.CompanyRecId,
                        Date         = DateTime.Now,
                        OwnerId      = 0,
                    };
                    _dailyTrans.Add(dailyTrans);
                }


                #endregion
                var req = new DailyRequest
                {
                    dailyOwner = DailyOwner,
                    dailyTrans = _dailyTrans
                };
                var response = _repository.Run <DailyService, ActionResponse <DailyRequest> >(x => x.Save_Daily(req));
                if (response.ResponseType != ResponseType.Ok)
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show(response.Message, "HATA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    XtraMessageBox.Show("İşlem Tamamlandı..", "ONAY", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message);
            }
        }