async public Task <IHttpActionResult> Edit(int Id) { var project = await Db.Projects.Include(b => b.ProjectBillingType).SingleOrDefaultAsync(p => p.Id == Id); var projectComission = await Db.ProjectComission.Include(e => e.Employee).FirstOrDefaultAsync(p => p.ProjectId == Id); var ProjectVM = new ProjectRegisterPostVM() { Project = project, ProjectComission = projectComission }; return(Ok(ProjectVM)); }
async public Task <IHttpActionResult> Edit(ProjectRegisterPostVM projectPost) { var project = await Db.Projects.SingleOrDefaultAsync(p => p.Id == projectPost.Project.Id); project.Name = projectPost.Project.Name; project.WorkingLocationA = projectPost.Project.WorkingLocationA; project.WorkingLocationB = projectPost.Project.WorkingLocationB; project.SpokePersonName = projectPost.Project.SpokePersonName; project.SpokePersonContactNumber = projectPost.Project.SpokePersonContactNumber; await Db.SaveChangesAsync(); return(Ok()); }
async public Task <IHttpActionResult> New(ProjectRegisterPostVM projectPost) { Db.Projects.Add(projectPost.Project); Db.ProjectComission.Add(projectPost.ProjectComission); var emp = await Db.Employees.SingleOrDefaultAsync(e => e.Id == projectPost.ProjectComission.EmployeeId); if (projectPost.Project.ProjectBillingTypeId == 1) { var billOneTime = new BillingOneTime() { OneTimeAmount = projectPost.Project.BillingAmount, AmountPaid = projectPost.Project.Arrears, Tax = projectPost.Tax, RemainingArrears = projectPost.Project.BillingAmount - projectPost.Project.Arrears - projectPost.Tax }; var billHistory = new OneTimeHistoryDetails() { BillingOneTimeId = billOneTime.Id, AmountAdded = projectPost.Project.Arrears, TaxAdded = Convert.ToInt32(projectPost.Tax), Date = projectPost.Project.StartingDate }; Db.BillingOneTime.Add(billOneTime); Db.OneTimeHistoryDetails.Add(billHistory); } else if (projectPost.Project.ProjectBillingTypeId == 2) { var billMonthly = new BillingMonthly() { From = projectPost.Project.StartingDate, To = projectPost.Project.StartingDate.AddMonths(1), MonthlyAmount = projectPost.Project.BillingAmount, Arrears = 0, Tax = projectPost.Tax, Editable = true, TotalAmountToPay = projectPost.Project.BillingAmount + 0, AmountPaid = projectPost.Project.Arrears, RemainingArrears = projectPost.Project.BillingAmount + 0 - projectPost.Project.Arrears - projectPost.Tax }; var billHistory = new MonthlyHistoryDetails() { BillingMonthlyId = billMonthly.Id, AmountAdded = projectPost.Project.Arrears, TaxAdded = Convert.ToInt32(projectPost.Tax), Date = projectPost.Project.StartingDate }; Db.BillingMonthly.Add(billMonthly); Db.MonthlyHistoryDetails.Add(billHistory); } else if (projectPost.Project.ProjectBillingTypeId == 3) { var billQuaterly = new BillingQuaterly() { From = projectPost.Project.StartingDate, To = projectPost.Project.StartingDate.AddMonths(3), QuaterlyAmount = projectPost.Project.BillingAmount, Arrears = 0, Tax = projectPost.Tax, Editable = true, TotalAmountToPay = projectPost.Project.BillingAmount + 0, AmountPaid = projectPost.Project.Arrears, RemainingArrears = projectPost.Project.BillingAmount + 0 - projectPost.Project.Arrears - projectPost.Tax }; var billHistory = new QuaterlyHistoryDetails() { BillingQuaterlyId = billQuaterly.Id, AmountAdded = projectPost.Project.Arrears, TaxAdded = Convert.ToInt32(projectPost.Tax), Date = projectPost.Project.StartingDate }; Db.BillingQuaterly.Add(billQuaterly); Db.QuaterlyHistoryDetails.Add(billHistory); } else if (projectPost.Project.ProjectBillingTypeId == 4) { var billyearly = new BillingYearly() { From = projectPost.Project.StartingDate, To = projectPost.Project.StartingDate.AddYears(1), YearlyAmount = projectPost.Project.BillingAmount, Arrears = 0, Tax = projectPost.Tax, Editable = true, TotalAmountToPay = projectPost.Project.BillingAmount + 0, AmountPaid = projectPost.Project.Arrears, RemainingArrears = projectPost.Project.BillingAmount + 0 - projectPost.Project.Arrears - projectPost.Tax }; var billHistory = new YearlyHistoryDetails() { BillingYearlyId = billyearly.Id, AmountAdded = projectPost.Project.Arrears, TaxAdded = Convert.ToInt32(projectPost.Tax), Date = projectPost.Project.StartingDate }; Db.BillingYearly.Add(billyearly); Db.YearlyHistoryDetails.Add(billHistory); } await Db.SaveChangesAsync(); var IdData = (await Db.Projects.SingleOrDefaultAsync(p => p.Name == projectPost.Project.Name && p.ClientId == projectPost.Project.ClientId)).Id; return(Ok(IdData)); }