Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }