Exemple #1
0
        public async Task UpdateDiscount(DiscountViewModel viewModel)
        {
            var discount = _mapper.Map <Discount>(viewModel);

            _context.Update(discount);
            await _context.SaveChangesAsync();
        }
Exemple #2
0
        public async Task AddDiscount(DiscountViewModel newdiscount)
        {
            DiscountPeriods item = new DiscountPeriods();

            item.ItemId    = newdiscount.ItemId;
            item.FromDate  = newdiscount.FromDate;
            item.CompanyId = newdiscount.CompanyId;
            item.Name      = newdiscount.Name;
            item.ToDate    = newdiscount.ToDate;
            item.FromTime  = newdiscount.FromTime;
            item.ToTime    = newdiscount.ToTime;
            item.CreatedAt = DateTime.Now;
            item.UpdatedAt = DateTime.Now;
            item.IsActive  = true;
            item.IsDelete  = false;
            await context.DiscountPeriods.AddAsync(item);

            await context.SaveChangesAsync();

            foreach (var list in newdiscount.DaysIdList)
            {
                DiscountTransaction transaction = new DiscountTransaction();
                transaction.DiscountPeriodId = item.Id;
                transaction.DayId            = list;
                await context.DiscountTransaction.AddAsync(transaction);

                await context.SaveChangesAsync();
            }
        }
Exemple #3
0
 public ActionResult Details(int id, DiscountViewModel collection)
 {
     try
     {
         if (id > 0)
         {
             collection.UpdaterId = LogedInAdmin.Id;
             _discountService.Delete(_mapper.Map <Discount>(collection));
             return(RedirectToAction("Index"));
         }
         ModelState.AddModelError(string.Empty, GeneralMessages.EmptyId);
         return(View(collection));
     }
     catch (Exception ex)
     {
         _logger.Error(ex);
         if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
         {
             ModelState.AddModelError(string.Empty, ex.Message);
         }
         else
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
         }
         return(View(collection));
     }
 }
        // GET: /<controller>/
        public IActionResult EditDiscount(long id, string statusMessage = null, string successMessage = null, string failureMessage = null)
        {
            var viewModel = new DiscountViewModel()
            {
                SuccessMessage = successMessage,
                StatusMessage  = statusMessage,
                FailureMessage = failureMessage
            };

            if (id > 0)
            {
                var inDb = _context.Discounts.Where(x => x.Id == id).SingleOrDefault();

                viewModel.Code        = inDb.Code;
                viewModel.EndDate     = inDb.EndDate;
                viewModel.Id          = inDb.Id;
                viewModel.IsLive      = inDb.IsLive;
                viewModel.Percentage  = inDb.Percentage;
                viewModel.StartDate   = inDb.StartDate;
                viewModel.Value       = inDb.Value;
                viewModel.MaxUsage    = inDb.MaxUsage;
                viewModel.HasMaxUse   = inDb.HasMaxUse;
                viewModel.HasMinValue = inDb.HasMinValue;
                viewModel.MinSpend    = inDb.MinSpend;
                viewModel.UsageCount  = inDb.UsageCount;
            }

            return(View(viewModel));
        }
Exemple #5
0
        public async Task AddNewAsync(DiscountViewModel model)
        {
            var discount = _mapper.Map <Discount>(model);
            await _context.AddAsync(discount);

            await _context.SaveChangesAsync();
        }
Exemple #6
0
        public async Task <ActionResult> Buy(int id)
        {
            ViewBag.BookId = id;
            List <DiscountDTO> discounts = new List <DiscountDTO>();

            using (var client = new HttpClient())
            {
                client.BaseAddress = apiUri;
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                var response = await client.GetAsync("api/Books/GetAllDiscounts");

                if (response.IsSuccessStatusCode)
                {
                    discounts = JsonConvert.DeserializeObject <List <DiscountDTO> >(await response.Content.ReadAsStringAsync());
                }
            }
            var list = new List <DropDownList>();

            foreach (var discount in discounts)
            {
                list.Add(new DropDownList
                {
                    Key     = discount.id.ToString(),
                    Display = discount.description + " (" + discount.percentage + "%)"
                });
            }

            var model = new DiscountViewModel();

            model.DropDownList = new SelectList(list, "Key", "Display");
            //ViewBag.Discounts = discounts;
            return(View(model));
        }
Exemple #7
0
        public void Export([Bind(Include = "FromDate,ToDate,CommunityCenter,HolidaysNum")] DiscountViewModel dvm)
        {
            DiscountViewModel DVM = CalcDiscount(dvm.FromDate, dvm.ToDate, dvm.HolidaysNum, dvm.CommunityCenter);

            if (System.IO.File.Exists(HostingEnvironment.MapPath("~/App_Data/DiscountTemplate.xlsx")))
            {
                var fileBytes = System.IO.File.ReadAllBytes(HostingEnvironment.MapPath("~/App_Data/DiscountTemplate.xlsx"));
                using (var ms = new MemoryStream(fileBytes))
                {
                    var workbook  = new XSSFWorkbook(ms);
                    var mainSheet = workbook.GetSheetAt(0);
                    foreach (var detail in DVM.Details)
                    {
                        var rowIndex = mainSheet.LastRowNum + 1;
                        var row      = mainSheet.CreateRow(rowIndex);
                        var cellNum  = row.GetCell(0) ?? row.CreateCell(0);
                        cellNum.SetCellValue(detail.EnrollNum);

                        var cellName = row.GetCell(1) ?? row.CreateCell(1);
                        cellName.SetCellValue(detail.Name);

                        var cellCenter = row.GetCell(2) ?? row.CreateCell(2);
                        cellCenter.SetCellValue(detail.CommunityName);

                        var cellDept = row.GetCell(3) ?? row.CreateCell(3);
                        cellDept.SetCellValue(detail.DepartmentName);

                        var cellTotaHours = row.GetCell(4) ?? row.CreateCell(4);
                        cellTotaHours.SetCellValue(detail.TotalTime);

                        var cellTotaDV = row.GetCell(5) ?? row.CreateCell(5);
                        cellTotaDV.SetCellValue(detail.TotalDailyVacation);

                        var cellTotaHV = row.GetCell(6) ?? row.CreateCell(6);
                        cellTotaHV.SetCellValue(detail.TotalDailyVacation);

                        var cellTotaDiscount = row.GetCell(7) ?? row.CreateCell(7);
                        cellTotaDiscount.SetCellValue(detail.DiscountDay);
                    }
                    byte[] downloadfileBytes = null;
                    using (var dms = new MemoryStream())
                    {
                        workbook.Write(dms);
                        workbook.Close();
                        downloadfileBytes = dms.ToArray();
                    }
                    Response.Clear();
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment: filename=" + "Report.xlsx");
                    Response.BinaryWrite(downloadfileBytes);
                    Response.End();
                    //var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(downloadfileBytes) };
                    //response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");
                    //response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
                    //response.Content.Headers.ContentDisposition.FileName = "DiscountType.xlsx";
                    //response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel");
                    //return response;
                }
            }
        }
        public IHttpActionResult DiscountReportByBranch()
        {
            List <DiscountViewModel>       discountModels = new List <DiscountViewModel>();
            List <DiscountReportViewModel> model          = new List <DiscountReportViewModel>();

            model = invoiceRepository.DiscountReportByBranch();
            foreach (var item in model)
            {
                DiscountViewModel discount = new DiscountViewModel();
                discount.Branch_Id = item.BranchId;
                discount.Column1   = item.Discount;
                discountModels.Add(discount);
            }

            List <BarChartModel> barCharts = new List <BarChartModel>();

            foreach (DiscountViewModel item in discountModels)
            {
                DiscountViewModel dvm        = new DiscountViewModel();
                BranchRepository  branch     = new BranchRepository();
                string            branchName = branch.Get(item.Branch_Id).Name;
                dvm.Column1 = item.Column1;

                BarChartModel barChart = new BarChartModel(branchName, (double)dvm.Column1);
                barCharts.Add(barChart);
            }
            var lsitOfData = Newtonsoft.Json.JsonConvert.SerializeObject(barCharts);

            return(Ok(barCharts));
        }
Exemple #9
0
        private void CalculateTotalHour(DiscountViewModel DVM, int CommunityCenter, DateTime fromDate, DateTime toDate)
        {
            List <string> userNum;

            using (var db = new ApplicationDbContext())
            {
                userNum = (from u in db.UserInfos
                           where u.CommunityCenterId == CommunityCenter
                           select u.EnrollNumber).ToList();

                var logs = db.LogDataInfos
                           .Where(c => c.LogDate >= fromDate && c.LogDate <= toDate)
                           .Include("UserInfo").Include("UserInfo.CommunityCenter")
                           .Include("UserInfo.Department").ToList();

                var results = from l in logs
                              group l by new { l.EnrollNum } into g
                where userNum.Contains(g.Key.EnrollNum)
                select new { Num = g.Key.EnrollNum, Times = g.OrderBy(c => c.LogDate).ThenBy(c => c.LogTime).ToList() };

                int totalHour = 0;
                int totalMin  = 0;

                foreach (var r in results)
                {
                    totalHour = 0;
                    foreach (var t in r.Times)
                    {
                        if (t.LogOutTime != TimeSpan.Zero)
                        {
                            TimeSpan dif = t.LogOutTime.Subtract(t.LogTime);
                            totalHour += dif.Hours;
                            totalMin  += dif.Minutes;
                        }
                    }
                    totalHour += totalMin / 60;
                    totalMin   = totalMin % 60;

                    var hd = DVM.Details.Where(c => c.EnrollNum == r.Num).FirstOrDefault();
                    if (hd == null)
                    {
                        DiscountDetailViewModel newDetail = new DiscountDetailViewModel();
                        newDetail.Name           = logs.FirstOrDefault(c => c.EnrollNum == r.Num).UserInfo.FullName;
                        newDetail.EnrollNum      = r.Num;
                        newDetail.CommunityName  = logs.FirstOrDefault(c => c.EnrollNum == r.Num).UserInfo.CommunityCenter.Name;
                        newDetail.DepartmentName = logs.FirstOrDefault(c => c.EnrollNum == r.Num).UserInfo.Department.Name;
                        newDetail.TotalHours     = totalHour;
                        newDetail.TotalMins      = totalMin;
                        newDetail.TotalTime      = String.Format("{0}:{1}", totalHour, totalMin);
                        DVM.Details.Add(newDetail);
                    }
                    else
                    {
                        hd.TotalHours = totalHour;
                        hd.TotalMins  = totalMin;
                        hd.TotalTime  = String.Format("{0}:{1}", totalHour, totalMin);
                    }
                }
            }
        }
Exemple #10
0
        public async Task UpdateDiscount(DiscountViewModel newdiscount, int id)
        {
            var result = await context.DiscountPeriods.Include(x => x.DiscountTransaction)
                         .FirstOrDefaultAsync(e => e.Id == id);

            if (result != null)
            {
                var discountTransaction = await context.DiscountTransaction.Where(x => x.DiscountPeriodId == id).ToListAsync();

                if (discountTransaction != null)
                {
                    context.DiscountTransaction.RemoveRange(discountTransaction);
                    await context.SaveChangesAsync();

                    foreach (var list in newdiscount.DaysIdList)
                    {
                        DiscountTransaction transaction = new DiscountTransaction();
                        transaction.DiscountPeriodId = result.Id;
                        transaction.DayId            = list;
                        await context.DiscountTransaction.AddAsync(transaction);

                        await context.SaveChangesAsync();
                    }
                }
                result.FromDate = newdiscount.FromDate;
                result.Name     = newdiscount.Name;
                result.ToDate   = newdiscount.ToDate;
                result.FromTime = newdiscount.FromTime;
                result.ToTime   = newdiscount.ToTime;
                context.DiscountPeriods.Update(result);
                await context.SaveChangesAsync();
            }
        }
Exemple #11
0
        public ActionResult Index(DiscountViewModel collection)
        {
            long totalCount;
            var  request = new FilteredModel <Discount>
            {
                PageIndex = collection.ThisPageIndex,
                Order     = collection.PageOrder,
                OrderBy   = collection.PageOrderBy
            };
            var offset = (request.PageIndex - 1) * request.PageSize;
            var result = _mapper.Map <IList <DiscountViewModel> >(_discountService.GetPaging(_mapper.Map <Discount>(collection), out totalCount, request.OrderBy, request.Order, offset, request.PageSize));

            if (!result.Any() && totalCount > 0 && request.PageIndex > 1)
            {
                request.PageIndex = (int)(totalCount / request.PageSize);
                if (totalCount % request.PageSize > 0)
                {
                    request.PageIndex++;
                }
                result = _mapper.Map <IList <DiscountViewModel> >(_discountService.GetPaging(_mapper.Map <Discount>(collection), out totalCount, request.OrderBy, request.Order, offset, request.PageSize));
            }
            ViewBag.OnePageOfEntries = new StaticPagedList <DiscountViewModel>(result, request.PageIndex, request.PageSize, (int)totalCount);
            ViewBag.SearchModel      = collection;
            return(View());
        }
Exemple #12
0
 private void CalcSumDailyVacation(DiscountViewModel DVM, int CommunityCenter, DateTime fromDate, DateTime toDate)
 {
     using (var db = new ApplicationDbContext())
     {
         var dailys = (from d in db.DailyVacations
                       where d.UserInfo.CommunityCenterId == CommunityCenter &&
                       d.FromDate >= fromDate && d.FromDate <= toDate
                       group d by new
         {
             Num = d.UserInfo.EnrollNumber,
             Name = d.UserInfo.FullName,
             CName = d.UserInfo.CommunityCenter.Name,
             DName = d.UserInfo.Department.Name
         } into g
                       select new { Num = g.Key.Num, Name = g.Key.Name, Center = g.Key.CName, Department = g.Key.DName, DaySum = g.Sum(c => c.Duration) }).ToList();
         foreach (var dr in dailys)
         {
             var detail = DVM.Details.Where(d => d.EnrollNum == dr.Num.ToString()).FirstOrDefault();
             if (detail == null)
             {
                 DiscountDetailViewModel newDetail = new DiscountDetailViewModel();
                 newDetail.Name               = dr.Name;
                 newDetail.EnrollNum          = dr.Num.ToString();
                 newDetail.CommunityName      = dr.Center;
                 newDetail.DepartmentName     = dr.Department;
                 newDetail.TotalDailyVacation = dr.DaySum;
                 DVM.Details.Add(newDetail);
             }
             else
             {
                 detail.TotalDailyVacation = dr.DaySum;
             }
         }
     }
 }
        private static void OnCurrentDiscountPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            DiscountPopup     popup    = source as DiscountPopup;
            DiscountViewModel discount = (DiscountViewModel)e.NewValue;

            popup.txtDiscount.Text = discount != null ? discount.Code + " (" + discount.Amount + ")" : "";
        }
        public DiscountListResponse GetDiscountsByPage(int companyId, DiscountViewModel discountSearchObject, int currentPage = 1, int itemsPerPage = 50)
        {
            DiscountListResponse     response  = new DiscountListResponse();
            List <DiscountViewModel> discounts = new List <DiscountViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM Discounts " +
                        "WHERE (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, ServerId " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

                    selectCommand.Parameters.AddWithValue("@Name", ((object)discountSearchObject.Search_Name) != null ? "%" + discountSearchObject.Search_Name + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage);
                    selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        DiscountViewModel dbEntry = Read(query);
                        discounts.Add(dbEntry);
                    }
                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM Discounts " +
                        "WHERE (@Name IS NULL OR @Name = '' OR Name LIKE @Name) " +
                        "AND CompanyId = @CompanyId;", db);

                    selectCommand.Parameters.AddWithValue("@Name", ((object)discountSearchObject.Search_Name) != null ? "%" + discountSearchObject.Search_Name + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        response.TotalItems = query.GetInt32(0);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.Discounts      = new List <DiscountViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success   = true;
            response.Discounts = discounts;
            return(response);
        }
        public DiscountResponse Create(DiscountViewModel discount)
        {
            DiscountResponse response = new DiscountResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, discount);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
Exemple #16
0
        public async Task <IActionResult> Put(int id, [FromBody] DiscountViewModel ViewModel)
        {
            try
            {
                VerifyUser();

                ValidateService.Validate(ViewModel);

                var model = Service.MapToModel(ViewModel);

                await Service.Update(id, model, IdentityService.Username);

                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE)
                    .Ok();
                return(Created(String.Concat(Request.Path, "/", 0), Result));
            }
            catch (ServiceValidationExeption e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE)
                    .Fail(e);
                return(BadRequest(Result));
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
Exemple #17
0
        public async Task <DiscountViewModel> GetRelatedEntities()
        {
            var viewModel = new DiscountViewModel
            {
                Suppliers = await _context.Suppliers.ToListAsync()
            };

            return(viewModel);
        }
Exemple #18
0
        public async Task <IActionResult> Edit(int id, DiscountViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                await _service.UpdateDiscount(viewModel);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
Exemple #19
0
        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            DiscountViewModel Discount = new DiscountViewModel();

            Discount.Identifier = Guid.NewGuid();

            Discount_AddEdit addEditForm = new Discount_AddEdit(Discount, true);

            addEditForm.DiscountCreatedUpdated += new DiscountHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("Podaci_o_popustu")), 95, addEditForm);
        }
Exemple #20
0
        public async Task UpdateDiscountByIdAsync(DiscountViewModel model)
        {
            var discount = await _context.Discount.Where(o => o.Id == model.Id).SingleOrDefaultAsync();

            discount.Name      = model.Name;
            discount.Percent   = model.Percent;
            discount.Price     = model.Price;
            discount.EndDate   = (model.ShamsiEndDate.Trim() == string.Empty ? null : (DateTime)(model.ShamsiEndDate).ToMiladi());
            discount.StartDate = (model.ShamsiStartDate.Trim() == string.Empty ? null : (DateTime)(model.ShamsiStartDate).ToMiladi());
            await _context.SaveChangesAsync();
        }
Exemple #21
0
        DiscountDto ConvertToDto(DiscountViewModel discountdetails)
        {
            DiscountDto disc = new DiscountDto
            {
                DiscountRate = discountdetails.DiscountRate,
                StartDate    = discountdetails.StartDate,
                EndDate      = discountdetails.EndDate,
                PetType      = discountdetails.PetType
            };

            return(disc);
        }
        // GET: /<controller>/
        public IActionResult Discount(string statusMessage = null, string successMessage = null, string failureMessage = null)
        {
            var viewModel = new DiscountViewModel()
            {
                Discounts      = _context.Discounts.OrderBy(x => x.Value).ToList(),
                SuccessMessage = successMessage,
                StatusMessage  = statusMessage,
                FailureMessage = failureMessage
            };

            return(View(viewModel));
        }
Exemple #23
0
        public Discount_AddEdit(DiscountViewModel DiscountViewModel, bool isCreateProcess, bool isPopup = false)
        {
            DiscountService = DependencyResolver.Kernel.Get <IDiscountService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentDiscount = DiscountViewModel;
            IsCreateProcess = isCreateProcess;
            IsPopup         = isPopup;
        }
Exemple #24
0
        public Discount MapToModel(DiscountViewModel viewModel)
        {
            Discount model = new Discount();

            PropertyCopier <DiscountViewModel, Discount> .Copy(viewModel, model);

            model.DiscountOne   = viewModel.discountOne;
            model.DiscountTwo   = viewModel.discountTwo;
            model.EndDate       = viewModel.endDate;
            model.StartDate     = viewModel.startDate;
            model.StoreCategory = viewModel.storeCategory;
            model.Information   = viewModel.storeCategory;
            model.StoreCode     = viewModel.store.code;
            model.StoreId       = viewModel.store.id;
            model.StoreName     = viewModel.store.name;
            model.Items         = new List <DiscountItem>();
            //List<DiscountItem> discountItems = new List<DiscountItem>();
            //List<DiscountDetail> discountDetails = new List<DiscountDetail>();

            foreach (DiscountItemViewModel i in viewModel.items)
            {
                DiscountItem discountItem = new DiscountItem();
                PropertyCopier <DiscountItemViewModel, DiscountItem> .Copy(i, discountItem);

                discountItem.RealizationOrder = i.realizationOrder;

                discountItem.Details = new List <DiscountDetail>();
                foreach (DiscountDetailViewModel d in i.details)
                {
                    DiscountDetail discountDetail = new DiscountDetail();
                    PropertyCopier <DiscountDetailViewModel, DiscountDetail> .Copy(d, discountDetail);

                    discountDetail.ArticleRealizationOrder = d.dataDestination.ArticleRealizationOrder;
                    discountDetail.Code                   = d.dataDestination.code;
                    discountDetail.DomesticCOGS           = d.DomesticCOGS;
                    discountDetail.DomesticRetail         = d.DomesticRetail;
                    discountDetail.DomesticSale           = d.DomesticSale;
                    discountDetail.DomesticWholesale      = d.DomesticWholesale;
                    discountDetail.InternationalCOGS      = d.InternationalCOGS;
                    discountDetail.InternationalRetail    = d.InternationalRetail;
                    discountDetail.InternationalSale      = d.InternationalSale;
                    discountDetail.InternationalWholesale = d.DomesticWholesale;
                    discountDetail.ItemId                 = d.dataDestination._id;
                    discountDetail.Name                   = d.dataDestination.name;
                    discountDetail.Size                   = d.dataDestination.Size;
                    discountDetail.Uom = d.dataDestination.Uom;
                    discountItem.Details.Add(discountDetail);
                }
                model.Items.Add(discountItem);
            }
            return(model);
        }
Exemple #25
0
        public async Task <ServiceResult> Add([FromBody] DiscountAddModel apiEntity)
        {
            var entity = DiscountAddModel.Map(apiEntity);

            var result = await _contentGroupService.AddAsync(entity);

            if (result.TryCastModel(out ContentGroup contentGroup))
            {
                result.ViewModel = DiscountViewModel.Map(contentGroup);
            }

            return(result);
        }
Exemple #26
0
        public async Task <ServiceResult> Edit(Guid id, [FromBody] DiscountEditModel apiEntity)
        {
            var entity = DiscountEditModel.Map(apiEntity, id);

            var result = await _contentGroupService.UpdateAsync(entity);

            if (result.TryCastModel(out ContentGroup contentGroup))
            {
                result.ViewModel = DiscountViewModel.Map(contentGroup);
            }

            return(result);
        }
Exemple #27
0
        public async Task <IActionResult> Upsert(string id)
        {
            // lấy giá trị cho các select
            var category = _context.Categories.ToList();

            ViewBag.Categories = new SelectList(category, "Id", "Name");

            var delivery = _context.Deliveries.ToList();

            ViewBag.Deliveries = new SelectList(delivery, "Id", "Name");

            var product = _context.Products.ToList();

            ViewBag.Products = new SelectList(product, "Id", "Name");

            if (id != null)
            {
                // Edit
                // Chuyển qua discountviewmodel để hiển thị

                var discount = await _context.Discounts.Include(x => x.CategoryDiscount).Include(x => x.DeliveryDiscount)
                               .Include(x => x.ProductDiscount).FirstOrDefaultAsync(x => x.Id == id);


                if (discount == null)
                {
                    return(NotFound());
                }
                var dv = new DiscountViewModel()
                {
                    Id                = discount.Id,
                    Name              = discount.Name,
                    Description       = discount.Description,
                    DateStart         = discount.DateStart,
                    DateExpired       = discount.DateExpired,
                    TimesUseLimit     = discount.TimesUseLimit,
                    PercentDiscount   = discount.PercentDiscount,
                    MaxDiscount       = discount.MaxDiscount,
                    Code              = discount.Code,
                    CategoryDiscounts = discount.CategoryDiscount.Select(x => x.CategoryId).ToList(),
                    DeliveryDiscounts = discount.DeliveryDiscount.Select(x => x.DeliveryId).ToList(),
                    ProductDiscounts  = discount.ProductDiscount.Select(x => x.ProductId).ToList()
                };
                ViewBag.Id = id;


                return(View(dv));
            }
            ViewBag.Id = "";
            return(View());
        }
Exemple #28
0
 public ActionResult Create(DiscountViewModel collection)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (collection.Properties != null && collection.Properties.Count > 0 && collection.Properties.Any(a => a.Id != null))
             {
                 var model = _mapper.Map <Discount>(collection);
                 model.CreatorId = LogedInAdmin.Id;
                 foreach (var item in collection.Properties)
                 {
                     if (item.Id != null)
                     {
                         model.FacilityId = item.Id;
                         _discountService.Insert(model);
                     }
                 }
                 return(RedirectToAction("Index"));
             }
             else
             {
                 ModelState.AddModelError(string.Empty, "هیچ ویژگی انتخاب نشده است");
             }
         }
         else
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.DefectiveEntry);
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex);
         if (ex.Message.Contains("duplicate"))
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.Duplicated);
         }
         else
         {
             if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
             {
                 ModelState.AddModelError(string.Empty, ex.Message);
             }
             else
             {
                 ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
             }
         }
     }
     return(View(collection));
 }
Exemple #29
0
        private DiscountViewModel CalcDiscount(DateTime fromDate, DateTime toDate, int holidaysNum, int CommunityCenter)
        {
            //int Year = 0;
            //int Month = 0;
            DiscountViewModel DVM = new DiscountViewModel();

            using (var db = new ApplicationDbContext())
            {
                DVM.CommunityCenters = db.CommunityCenters.Where(c => c.IsActive).ToList();
            }

            DVM.Details = new List <DiscountDetailViewModel>();
            if (CommunityCenter != 0 && fromDate != DateTime.MinValue && toDate != DateTime.MinValue)
            {
                DVM.TotalOffDay = CountWeekEnd(fromDate, toDate) + holidaysNum;
                DVM.WorkingDay  = (int)(toDate - fromDate).TotalDays - DVM.TotalOffDay;
                CommunityCenter cc;
                using (var db = new ApplicationDbContext())
                {
                    cc = db.CommunityCenters.Include("Schedules").FirstOrDefault(c => c.Id == CommunityCenter);
                }
                DVM.CenterWorkingHour = cc.BeginingCOut.Subtract(cc.EndingCIn).Hours;
                DVM.TotlalCenterHours = DVM.CenterWorkingHour * DVM.WorkingDay;

                //مجموع الاجازات الساعية في المدة المحدد
                #region HourlyVacation
                var hours = new[] { new { Num = default(string), Name = default(string), Center = default(string), Department = default(string), HourSum = default(double) } }.Skip(1).ToList();
                CalcSumHourVacation(DVM, CommunityCenter, fromDate, toDate);
                #endregion

                //مجموع الاجازات اليومية في الشهر المحدد
                #region DailyVacation
                var dailys = new[] { new { Num = default(string), Name = default(string), Center = default(string), Department = default(string), DaySum = default(int) } }.Skip(1).ToList();
                CalcSumDailyVacation(DVM, CommunityCenter, fromDate, toDate);
                #endregion
                //اجمالي ساعات الدوام
                #region Calculate TotlaHour
                CalculateTotalHour(DVM, CommunityCenter, fromDate, toDate);
                #endregion
                //حساب ساعات التأخير
                #region Calculate TotalDelay
                CalculateTotalDelay(DVM, CommunityCenter, fromDate, toDate);
                #endregion
                //حساب أيام الحسم
                #region CalculateDiscountDay
                CalculateDiscountDay(DVM, CommunityCenter, fromDate, toDate);
                #endregion
            }
            return(DVM);
        }
Exemple #30
0
        public ActionResult Create(DiscountViewModel discountdetails)
        {
            if (ModelState.IsValid)
            {
                DiscountDto discount = ConvertToDto(discountdetails);
                discountService.Save(discount);
                return(RedirectToAction("Index"));
            }
            var pet     = GetPetType();
            var petType = new SelectList(pet, "TypeId", "PetType");

            ViewData["pettype"] = petType;
            return(View(discountdetails));
        }