Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }