public JsonResult ItemCreate(List <ProcItem> ResourceDetails, int ProjectSiteId, DateTime?BOQDate, string BOQNo, DateTime?NOADate, string NOANo, string ProjectType, string ProjectStatus, string ProjectRemarks) { var result = new { flag = false, message = "Saving failed" }; ProcProject procProject = new ProcProject(); //procProject.Id = ProjectId; procProject.ProjectSiteId = ProjectSiteId; procProject.BOQDate = BOQDate; procProject.BOQNo = BOQNo; procProject.NOADate = NOADate; procProject.NOANo = NOANo; procProject.Status = ProjectStatus; procProject.Remarks = ProjectRemarks; procProject.ProjectType = ProjectType; db.ProcProject.Add(procProject); db.SaveChanges(); foreach (var item in ResourceDetails) { ProcProjectItem procitem = new ProcProjectItem(); // var checkeingDuplicate= db.ProcProjectItem.Where(x => x.ProjectId == item.ProjectId && x.ProjectSiteId == item.ProjectSiteId && x.ItemISLNO == item.ItemISLNO); //var procProjId = db.ProcProject.SingleOrDefault(x => x.ProjectSiteId == ProjectSiteId); //procitem.ProcProjectId = procProjId.Id; // procitem.ProjectSiteId = item.ProjectSiteId; procitem.ProcProjectId = procProject.Id; procitem.ItemId = item.ItemISLNO; procitem.UnitId = item.UnitUSLNO; procitem.PQuantity = item.PQuantity; //procitem.Unit = (Unit)Enum.Parse(typeof(Unit), item.UnitUSLNO.ToString()); procitem.PCost = item.PCost; procitem.Remarks = item.Remarks; db.ProcProjectItem.Add(procitem); db.SaveChanges(); } result = new { flag = true, message = "Project saving successful." }; return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(int?projectId, int?siteId) { ViewBag.PId = projectId; ViewBag.SId = siteId; var procProjectId = db.ProcProject.FirstOrDefault(x => x.Id == projectId && x.ProjectSiteId == siteId); ViewBag.ProcProjectId = procProjectId.Id; ViewBag.ProcProjectIdEditForm = procProjectId.ProjectSite.Project.Name; ViewBag.ProjectId = new SelectList(db.Project, "Id", "Name"); ViewBag.SiteId = new SelectList(db.ProjectSite, "Id", "Name"); ViewBag.ItemName = new SelectList(db.Item, "Id", "Name"); ViewBag.Unit = new SelectList(db.Unit, "Id", "Name"); var projectTypeStatus = new SelectList(new List <SelectListItem> { new SelectListItem { Text = "Government", Value = "Government" }, new SelectListItem { Text = "Non-Government", Value = "Non-Government" }, }, "Value", "Text"); ViewBag.ProjectType = projectTypeStatus; ViewBag.PrManId = new SelectList(db.CompanyResource, "Id", "Name"); ViewBag.StEngId = new SelectList(db.CompanyResource, "Id", "Name"); var projectIdFinder = db.ProjectSite.SingleOrDefault(x => x.Id == siteId); var projects = db.Project.SingleOrDefault(x => x.Id == projectIdFinder.ProjectId); ViewBag.StartDate = NullHelper.DateToString(projects.StartDate); ViewBag.EndDate = NullHelper.DateToString(projects.EndDate); var procProjects = db.ProcProject.SingleOrDefault(x => x.Id == projectId && x.ProjectSiteId == siteId); ViewBag.BOQDate = NullHelper.DateToString(procProjects.BOQDate); ViewBag.NOADate = NullHelper.DateToString(procProjects.NOADate); ViewBag.BOQNo = NullHelper.ObjectToString(procProjects.BOQNo); ViewBag.NOANo = NullHelper.ObjectToString(procProjects.NOANo); //ViewBag.PType = NullHelper.ObjectToString(procProjects.ProjectType); var projectType = new SelectList(new List <SelectListItem> { new SelectListItem { Text = "Government", Value = "Government" }, new SelectListItem { Text = "Non-Government", Value = "Non-Government" }, }, "Value", "Text", procProjects.ProjectType); ViewBag.ProjectType = projectType; ViewBag.PStatus = NullHelper.ObjectToString(procProjects.Status); ViewBag.PRemarks = NullHelper.ObjectToString(procProjects.Remarks); var projectRes = db.ProjectResource.SingleOrDefault(x => x.ProjectId == projectIdFinder.ProjectId); ViewBag.PrMan = NullHelper.ObjectToString(projectRes.CompanyResource.Name); var projectSiteRes = db.ProjectSiteResource.SingleOrDefault(x => x.ProjectSiteId == siteId); ViewBag.StEng = NullHelper.ObjectToString(projectSiteRes.CompanyResource.Name); VMProjectItem vmProjectItem = new VMProjectItem(); vmProjectItem.ProcProjectItem = db.ProcProjectItem.Where(x => x.ProcProjectId == projectId /*&& x.ProjectSiteId == siteId*/).ToList(); if (projectId == null || siteId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProcProject procProject = db.ProcProject.Where(x => x.Id == projectId && x.ProjectSiteId == siteId).FirstOrDefault(); Project project = db.Project.Where(x => x.Id == projectId).FirstOrDefault(); ProcProjectItem procProjectItem = db.ProcProjectItem.Where(x => x.ProcProjectId == projectId /*&& x.ProjectSiteId == siteId*/).FirstOrDefault(); if (procProject == null) { return(HttpNotFound()); } return(View(vmProjectItem)); }
public JsonResult ItemCreate(List <ProcItem> ResourceDetails, int ProjectSiteId, DateTime?BOQDate, string BOQNo, DateTime?NOADate, string NOANo, string ProjectType, string ProjectStatus, string ProjectRemarks) { var result = new { flag = false, message = "Saving failed" }; var check = db.ProcProject.Where(x => x.ProjectSiteId == ProjectSiteId).ToList(); if (check.Count == 0) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { ProcProject procProject = new ProcProject(); //procProject.Id = ProjectId; procProject.ProjectSiteId = ProjectSiteId; procProject.BOQDate = BOQDate; procProject.BOQNo = BOQNo; procProject.NOADate = NOADate; procProject.NOANo = NOANo; procProject.Status = ProjectStatus; procProject.Remarks = ProjectRemarks; procProject.ProjectType = ProjectType; db.ProcProject.Add(procProject); db.SaveChanges(); foreach (var item in ResourceDetails) { ProcProjectItem procitem = new ProcProjectItem(); procitem.ProcProjectId = procProject.Id; procitem.ItemId = item.ItemISLNO; procitem.UnitId = item.UnitUSLNO; procitem.PQuantity = item.PQuantity; //procitem.Unit = (Unit)Enum.Parse(typeof(Unit), item.UnitUSLNO.ToString()); procitem.PCost = item.PCost; procitem.Remarks = item.Remarks; db.ProcProjectItem.Add(procitem); db.SaveChanges(); } dbContextTransaction.Commit(); result = new { flag = true, message = "Project cost saving successful." }; } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = "Saving failed! Error occurred." //message = ex.Message }; } } } else { result = new { flag = false, message = "Site cost already exists!" //message = ex.Message }; } return(Json(result, JsonRequestBehavior.AllowGet)); }