public async Task <ActionResult <Data.Models.Sale> > PatchSale(int saleId, JsonPatchDocument <Data.Models.SaleForUpdate> patchDocument) { try { Data.Entities.Sale dbSale = await _repository.GetSaleAsync(saleId); if (dbSale == null) { return(NotFound()); } var updatedSale = _mapper.Map <Data.Models.SaleForUpdate>(dbSale); patchDocument.ApplyTo(updatedSale, ModelState); _mapper.Map(updatedSale, dbSale); if (await _repository.SaveChangesAsync()) { Data.Models.Sale savedSale = _mapper.Map <Data.Models.Sale>(await _repository.GetSaleAsync(saleId)); return(Ok(savedSale)); } else { return(StatusCode(StatusCodes.Status500InternalServerError, "Unable to save to database")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, "Unable to patch sale " + ex.Message)); } }
public async Task <ActionResult <SaleResponse> > PostSale(MHKDTO.Models.Sale input) { // Check if the sale object already exists var existingSaleObject = await _context.Sales .Where(s => s.Month == input.Month && s.Year == input.Year) .FirstOrDefaultAsync(); if (existingSaleObject != null) { return(Conflict(input)); } var sale = new Data.Models.Sale { WeightNK = input.WeightNK, Minimum = input.Minimum, Maximum = input.Maximum, Month = input.Month, Year = input.Year, TotalTasks = input.TotalTasks, TasksOnTime = input.TasksOnTime }; _context.Sales.Add(sale); await _context.SaveChangesAsync(); var result = sale.MapSaleResponse(); return(CreatedAtAction(nameof(GetSale), new{ id = result.Id }, result)); }
public async Task <ActionResult <Data.Models.Sale> > UpdateSale(int saleId, Data.Models.SaleForUpdate updatedSale) { try { Data.Entities.Sale dbSale = await _repository.GetSaleAsync(saleId); if (dbSale == null) { return(NotFound()); } _mapper.Map(updatedSale, dbSale); if (await _repository.SaveChangesAsync()) { Data.Models.Sale savedSale = _mapper.Map <Data.Models.Sale>(dbSale); return(Ok(savedSale)); } else { return(BadRequest("Failed to update.")); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database exception: " + ex.Message)); } }
public async Task <ActionResult <Data.Models.Sale> > CreateNewSale(Data.Models.SaleForCreate newSale) { Data.Entities.Sale dbNewSale = null; try { dbNewSale = _mapper.Map <Data.Entities.Sale>(newSale); } catch (Exception ex) { return(BadRequest("Input is in invalid format: " + ex.Message)); } if (dbNewSale == null) { return(BadRequest("Input is in invalid format")); } await _repository.AddAsync <Data.Entities.Sale>(dbNewSale); await _repository.SaveChangesAsync(); Data.Models.Sale addedSale = _mapper.Map <Data.Models.Sale>(dbNewSale); var url = _linkgenerator.GetPathByAction(HttpContext, "GetSaleBySaleId", "Sales", addedSale); return(this.Created(url, addedSale)); }
protected void btnSave_Click(object sender, EventArgs e) { foreach (GridViewRow row in GridView1.Rows) { var saleId = 0; var sales = new Data.Models.Sale(); var hdnSaleId = (HiddenField)row.FindControl("hdnSaleId"); if (hdnSaleId != null && !string.IsNullOrEmpty(hdnSaleId.Value)) { saleId = Convert.ToInt32(hdnSaleId.Value); } if (saleId > 0) { sales = _db.Sales.Find(saleId); } else { sales.ProductId = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString()); sales.PartnerId = PartnerId; sales.QuarterYear = Quater; } var txtM1 = (TextBox)row.FindControl("txtM1"); if (txtM1 != null) { sales.M1 = Convert.ToInt32(txtM1.Text); } var txtM2 = (TextBox)row.FindControl("txtM2"); if (txtM2 != null) { sales.M2 = Convert.ToInt32(txtM2.Text); } var txtM3 = (TextBox)row.FindControl("txtM3"); if (txtM3 != null) { sales.M3 = Convert.ToInt32(txtM3.Text); } if (saleId > 0) { sales.ModifiedDate = System.DateTime.Now; sales.ModifiedUser = SessionData.Current.UserId; _db.Entry <Sale>(sales).State = EntityState.Modified; } else { sales.CreatedDate = System.DateTime.Now; sales.CreatedUser = SessionData.Current.UserId; _db.Sales.Add(sales); } _db.SaveChanges(); FillGridView(); } }
private void FillGridView() { var qtr = Quater; var partnerId = PartnerId; var SaleVMList = new List <SalesViewModel>(); var products = _db.Products.OrderBy(p => p.SortOrder); foreach (var product in products) { var sales = _db.Sales.FirstOrDefault(t => t.PartnerId == partnerId && t.QuarterYear == qtr && t.ProductId == product.ProductId); if (sales == null) { sales = new Data.Models.Sale(); } var SaleVM = new SalesViewModel { SaleId = sales.SaleId, M1 = sales.M1, M2 = sales.M2, M3 = sales.M3, PartnerId = sales.PartnerId, ProductCategory = product.ProductCategory, ProductDescription = product.ProductDescription, ProductId = product.ProductId, QuarterYear = sales.QuarterYear }; var prevQtr = Utility.QuarterHelper.GetPrevQuarter(Quater); var prevQtrSales = _db.Sales.Where(t => t.PartnerId == PartnerId && t.ProductId == product.ProductId && t.QuarterYear == prevQtr.QuarterYear).ToList(); if (prevQtrSales.Any()) { SaleVM.PrevQtr = prevQtrSales.Sum(t => t.M1 + t.M2 + t.M3); } SaleVMList.Add(SaleVM); } GridView1.DataSource = SaleVMList; GridView1.DataBind(); GridView1.UseAccessibleHeader = true; GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; }
private List <PlanPerformanceViewModel> GetData(int partnerId, string quarter) { var SaleVMList = new List <SalesViewModel>(); var PlanPerformanceVMList = new List <PlanPerformanceViewModel>(); var products = _db.Products.OrderBy(p => p.SortOrder); foreach (var product in products) { var sales = _db.Sales.FirstOrDefault(t => t.PartnerId == partnerId && t.QuarterYear == quarter && t.ProductId == product.ProductId); if (sales == null) { sales = new Data.Models.Sale(); } var currentYear = quarter.Split(' ')[1]; var previousYear = (Convert.ToInt32(currentYear) - 1).ToString(); var currentYearData = _db.Sales.Where(t => t.PartnerId == partnerId && t.ProductId == product.ProductId && t.QuarterYear.Contains(currentYear)).ToList(); var previousYearData = _db.Sales.Where(t => t.PartnerId == partnerId && t.ProductId == product.ProductId && t.QuarterYear.Contains(previousYear)).ToList(); var SaleVM = new SalesViewModel { SaleId = sales.SaleId, M1 = sales.M1, M2 = sales.M2, M3 = sales.M3, PartnerId = sales.PartnerId, ProductCategory = product.ProductCategory, ProductDescription = product.ProductDescription, ProductId = product.ProductId, QuarterYear = sales.QuarterYear }; var cquater1 = currentYearData.FirstOrDefault(t => t.QuarterYear == ("Q1 " + currentYear)); decimal cquater1Sales = 0; if (cquater1 != null) { cquater1Sales = cquater1.M1 + cquater1.M2 + cquater1.M3; } var cquater2 = currentYearData.FirstOrDefault(t => t.QuarterYear == ("Q2 " + currentYear)); decimal cquater2Sales = 0; if (cquater2 != null) { cquater2Sales = cquater2.M1 + cquater2.M2 + cquater2.M3; } var cquater3 = currentYearData.FirstOrDefault(t => t.QuarterYear == ("Q3 " + currentYear)); decimal cquater3Sales = 0; if (cquater3 != null) { cquater3Sales = cquater3.M1 + cquater3.M2 + cquater3.M3; } var cquater4 = currentYearData.FirstOrDefault(t => t.QuarterYear == ("Q4 " + currentYear)); decimal cquater4Sales = 0; if (cquater4 != null) { cquater4Sales = cquater4.M1 + cquater4.M2 + cquater4.M3; } var pquater1 = previousYearData.FirstOrDefault(t => t.QuarterYear == ("Q1 " + previousYear)); decimal pquater1Sales = 0; if (pquater1 != null) { pquater1Sales = pquater1.M1 + pquater1.M2 + pquater1.M3; } var pquater2 = previousYearData.FirstOrDefault(t => t.QuarterYear == ("Q2 " + previousYear)); decimal pquater2Sales = 0; if (pquater2 != null) { pquater2Sales = pquater2.M1 + pquater2.M2 + pquater2.M3; } var pquater3 = previousYearData.FirstOrDefault(t => t.QuarterYear == ("Q3 " + previousYear)); decimal pquater3Sales = 0; if (pquater3 != null) { pquater3Sales = pquater3.M1 + pquater3.M2 + pquater3.M3; } var pquater4 = previousYearData.FirstOrDefault(t => t.QuarterYear == ("Q4 " + previousYear)); decimal pquater4Sales = 0; if (pquater4 != null) { pquater4Sales = pquater4.M1 + pquater4.M2 + pquater4.M3; } var PerformanceVM = new PlanPerformanceViewModel { SaleId = sales.SaleId, M1 = sales.M1, M2 = sales.M2, M3 = sales.M3, PartnerId = sales.PartnerId, ProductCategory = product.ProductCategory, ProductDescription = product.ProductDescription, ProductId = product.ProductId, CQ1 = cquater1Sales, CQ2 = cquater2Sales, CQ3 = cquater3Sales, CQ4 = cquater4Sales, PQ1 = pquater1Sales, PQ2 = pquater2Sales, PQ3 = pquater3Sales, PQ4 = pquater4Sales }; var prevQtr = Utility.QuarterHelper.GetPrevQuarter(quarter); var prevQtrSales = _db.Sales.Where(t => t.PartnerId == partnerId && t.ProductId == product.ProductId && t.QuarterYear == prevQtr.QuarterYear).ToList(); if (prevQtrSales.Any()) { SaleVM.PrevQtr = prevQtrSales.Sum(t => t.M1 + t.M2 + t.M3); PerformanceVM.PrevQtr = prevQtrSales.Sum(t => t.M1 + t.M2 + t.M3); } SaleVMList.Add(SaleVM); PlanPerformanceVMList.Add(PerformanceVM); } return(PlanPerformanceVMList); }