Esempio n. 1
0
        // POST: Projects/ProjectCreate
        public JsonResult ProjectUpdate(List <VMProjectSite> SiteResourceDetails, int?[] DeleteItems, int ProjectId, string ProjectName, DateTime?StartDate, DateTime?EndDate, string Remarks, int RName)
        {
            var flag   = false;
            var result = new
            {
                flag    = false,
                message = "Saving failed"
            };

            if (DeleteItems != null)
            {
                foreach (var i in DeleteItems)
                {
                    var siteresource = db.ProjectSiteResource.SingleOrDefault(x => x.ProjectSiteId == i);
                    //foreach(var m in siteresource)
                    //{
                    //    var deleteResource = siteresource.Find(m.);
                    //}
                    /*    var deleteResource = db.ProjectSiteResource.Find(siteresource)*/;
                    db.ProjectSiteResource.Remove(siteresource);
                    db.SaveChanges();
                    //var delteItem = db.Proc_MaterialEntryDet.SingleOrDefault(x => x.ItemId == i && x.Proc_PurchaseOrderMasId == ProcPurchaseMasterId);
                    var entryDetId = db.ProjectSite.Find(i);
                    db.ProjectSite.Remove(entryDetId);
                    flag = db.SaveChanges() > 0;
                }
            }



            var existingProject = db.Project.Where(x => x.Id == ProjectId).ToList();

            if (existingProject.Count != 0)
            {
                var checkdata = db.Project.Where(x => x.Id == ProjectId).SingleOrDefault();

                if (checkdata != null)
                {
                    ProjectResource pres = new ProjectResource();
                    checkdata.Name      = ProjectName;
                    checkdata.StartDate = StartDate;
                    checkdata.EndDate   = EndDate;
                    checkdata.Remarks   = Remarks;
                    pres.ProjectId      = ProjectId;
                    //pres.CompanyResourceId = RName;
                    try
                    {
                        db.Entry(checkdata).State = EntityState.Modified;
                        //var projectResouce = db.ProjectResource.SingleOrDefault(x => x.ProjectId == ProjectId && x.CompanyResourceId == );
                        var projectResouce = db.ProjectResource.SingleOrDefault(x => x.ProjectId == ProjectId);
                        //projectResouce.CompanyResourceId = RName;

                        db.Entry(projectResouce).State = EntityState.Modified;
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                    {
                        //dbContextTransaction.Rollback();
                        Exception raise = dbEx;
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                string message = string.Format("{0}:{1}",
                                                               validationErrors.Entry.Entity.ToString(),
                                                               validationError.ErrorMessage);
                                // raise a new exception nesting
                                // the current instance as InnerException
                                raise = new InvalidOperationException(message, raise);
                            }
                        }
                        throw raise;
                    }



                    flag = db.SaveChanges() > 0;
                    if (flag == true)
                    {
                        if (SiteResourceDetails != null)
                        {
                            try
                            {
                                foreach (var item in SiteResourceDetails)
                                {
                                    ProjectSite         sites    = new ProjectSite();
                                    ProjectSiteResource pSiteRes = new ProjectSiteResource();
                                    sites.ProjectId            = ProjectId;
                                    sites.Name                 = item.SiteName;
                                    sites.Location             = item.SiteLocation;
                                    pSiteRes.CompanyResourceId = item.SiteEngineerId;

                                    var checkingProjectSites = db.ProjectSite.FirstOrDefault(x => x.Id == item.ProjectSiteId);

                                    flag = false;
                                    if (checkingProjectSites == null)
                                    {
                                        db.Entry(sites).State    = EntityState.Added;
                                        db.Entry(pSiteRes).State = EntityState.Added;
                                    }
                                    else
                                    {
                                        var ProjectSite = db.ProjectSite.Where(x => x.ProjectId == ProjectId && x.Id == item.ProjectSiteId).FirstOrDefault();

                                        var ProjectSiteEngineer = db.ProjectSiteResource.Where(x => x.ProjectSiteId == ProjectSite.Id && ProjectSite.ProjectId == ProjectId).FirstOrDefault();
                                        ProjectSite.ProjectId      = ProjectId;
                                        ProjectSite.Name           = item.SiteName;
                                        ProjectSite.Location       = item.SiteLocation;
                                        pSiteRes.CompanyResourceId = item.SiteEngineerId;
                                        ProjectSiteEngineer.CompanyResource.Name = item.SiteEngineer;


                                        db.Entry(ProjectSite).State = EntityState.Modified;
                                        db.Entry(ProjectSiteEngineer.CompanyResource).State = EntityState.Modified;
                                    }

                                    db.SaveChanges();
                                }

                                result = new
                                {
                                    flag    = true,
                                    message = "Edit saving successful !"
                                };

                                return(Json(result, JsonRequestBehavior.AllowGet));
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else
            {
                result = new
                {
                    flag    = false,
                    message = "Project and Project Sites already exist!"
                };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 2
0
        // POST: Projects/ProjectCreate
        public JsonResult ProjectCreate(List <VMProjectSite> SiteResourceDetails, string ProjectName, DateTime?StartDate, DateTime?EndDate, string Remarks, int RName)
        {
            var result = new
            {
                flag    = false,
                message = "Saving failed"
            };

            var check = db.Project.Where(x => x.Name.Trim().ToUpper() == ProjectName.Trim().ToUpper()).ToList();

            if (check.Count == 0)
            {
                if (ProjectName.Trim() != "")
                {
                    Project         project         = new Project();
                    ProjectResource projectResource = new ProjectResource();

                    using (var dbContextTransaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            project.Name      = ProjectName;
                            project.StartDate = StartDate;
                            project.EndDate   = EndDate;
                            project.Remarks   = Remarks;
                            //projectResource.ProjectId = project.Id;
                            projectResource.CompanyResourceId = RName;

                            db.Project.Add(project);
                            db.ProjectResource.Add(projectResource);
                            db.SaveChanges();

                            var projectId = project.Id;
                            ViewBag.ProjectId = projectId;


                            if (SiteResourceDetails != null)
                            {
                                foreach (var item in SiteResourceDetails)
                                {
                                    ProjectSite         projectSite         = new ProjectSite();
                                    ProjectSiteResource projectSiteResource = new ProjectSiteResource();

                                    projectSite.ProjectId = projectId;
                                    projectSite.Name      = item.SiteName;
                                    projectSite.Location  = item.SiteLocation;
                                    projectSiteResource.CompanyResourceId = item.SiteEngineerId;

                                    db.ProjectSite.Add(projectSite);
                                    db.ProjectSiteResource.Add(projectSiteResource);
                                    db.SaveChanges();
                                }
                            }
                            dbContextTransaction.Commit();
                            //end
                            result = new
                            {
                                flag    = true,
                                message = "Project 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 = "Saving failed!\nProject name required."
                    };
                }
            }
            else
            {
                result = new
                {
                    flag    = false,
                    message = "Project already exists!"
                };
            }



            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        // POST: Projects/ProjectCreate
        public JsonResult ProjectCreate(List <VMProjectSite> SiteResourceDetails, string ProjectName, DateTime?StartDate, DateTime?EndDate, string Remarks, int RName)
        {
            var result = new
            {
                flag    = false,
                message = "Saving failed"
            };

            if (ProjectName.Trim() != "")
            {
                Project         project         = new Project();
                ProjectResource projectResource = new ProjectResource();

                try
                {
                    project.Name      = ProjectName;
                    project.StartDate = StartDate;
                    project.EndDate   = EndDate;
                    project.Remarks   = Remarks;
                    //projectResource.ProjectId = project.Id;
                    projectResource.CompanyResourceId = RName;

                    db.Project.Add(project);
                    db.ProjectResource.Add(projectResource);
                    db.SaveChanges();

                    var projectId = project.Id;

                    ViewBag.ProjectId = projectId;

                    //ProjectSite projectSite = new ProjectSite();
                    //ProjectSiteResource projectSiteResource = new ProjectSiteResource();

                    //projectSite.ProjectId = project.Id;
                    // projectSite.Name = SiteName;
                    //projectSite.Location = SiteLocation;
                    //projectSiteResource.ProjectSiteId = projectSite.Id;

                    //db.ProjectSite.Add(projectSite);
                    //db.ProjectSiteResource.Add(projectSiteResource);
                    //db.SaveChanges();



                    if (SiteResourceDetails != null)
                    {
                        foreach (var item in SiteResourceDetails)
                        {
                            ProjectSite         projectSite         = new ProjectSite();
                            ProjectSiteResource projectSiteResource = new ProjectSiteResource();

                            projectSite.ProjectId = projectId;
                            projectSite.Name      = item.SiteName;
                            projectSite.Location  = item.SiteLocation;

                            projectSiteResource.CompanyResourceId = item.SiteEngineerId;

                            db.ProjectSite.Add(projectSite);
                            db.ProjectSiteResource.Add(projectSiteResource);
                            db.SaveChanges();
                        }
                    }
                    //end
                    result = new
                    {
                        flag    = true,
                        message = "Project saving successful!"
                    };
                }
                catch
                {
                    result = new
                    {
                        flag    = false,
                        message = "Saving failed! Error occurred."
                    };
                }
            }

            else
            {
                result = new
                {
                    flag    = false,
                    message = "Saving failed!\nProject name required."
                };
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 4
0
        // POST: Projects/ProjectCreate
        public JsonResult ProjectUpdate(List <VMProjectSite> SiteResourceDetails, int ProjectId, string ProjectName, DateTime?StartDate, DateTime?EndDate, string Remarks, int RName)
        {
            var result = new
            {
                flag    = false,
                message = "Saving failed"
            };


            var existingProject = db.Project.Where(x => x.Id == ProjectId).ToList();

            if (existingProject.Count != 0)
            {
                //try
                //{
                var flag      = false;
                var checkdata = db.Project.Where(x => x.Id == ProjectId).SingleOrDefault();

                if (checkdata != null)
                {
                    ProjectResource pres = new ProjectResource();
                    checkdata.Name         = ProjectName;
                    checkdata.StartDate    = StartDate;
                    checkdata.EndDate      = EndDate;
                    checkdata.Remarks      = Remarks;
                    pres.ProjectId         = ProjectId;
                    pres.CompanyResourceId = RName;

                    db.Entry(checkdata).State = EntityState.Modified;
                    db.Entry(pres).State      = EntityState.Modified;

                    flag = db.SaveChanges() > 0;
                    if (flag == true)
                    {
                        if (SiteResourceDetails != null)
                        {
                            try
                            {
                                foreach (var item in SiteResourceDetails)
                                {
                                    ProjectSite         sites    = new ProjectSite();
                                    ProjectSiteResource pSiteRes = new ProjectSiteResource();
                                    sites.ProjectId            = ProjectId;
                                    sites.Name                 = item.SiteName;
                                    sites.Location             = item.SiteLocation;
                                    pSiteRes.CompanyResourceId = item.SiteEngineerId;

                                    var checkingProjectSites = db.ProjectSite.FirstOrDefault(x => x.Id == item.ProjectSiteId);

                                    flag = false;
                                    if (checkingProjectSites == null)
                                    {
                                        db.Entry(sites).State    = EntityState.Added;
                                        db.Entry(pSiteRes).State = EntityState.Added;
                                    }
                                    else
                                    {
                                        var ProjectSite = db.ProjectSite.Where(x => x.ProjectId == ProjectId && x.Id == item.ProjectSiteId).FirstOrDefault();

                                        var ProjectSiteEngineer = db.ProjectSiteResource.Where(x => x.ProjectSiteId == ProjectSite.Id && ProjectSite.ProjectId == ProjectId).FirstOrDefault();
                                        ProjectSite.ProjectId      = ProjectId;
                                        ProjectSite.Name           = item.SiteName;
                                        ProjectSite.Location       = item.SiteLocation;
                                        pSiteRes.CompanyResourceId = item.SiteEngineerId;
                                        ProjectSiteEngineer.CompanyResource.Name = item.SiteEngineer;


                                        db.Entry(ProjectSite).State = EntityState.Modified;
                                        db.Entry(ProjectSiteEngineer.CompanyResource).State = EntityState.Modified;
                                    }

                                    db.SaveChanges();
                                }

                                result = new
                                {
                                    flag    = true,
                                    message = "Edit saving successful !"
                                };

                                return(Json(result, JsonRequestBehavior.AllowGet));
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                    }
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else
            {
                result = new
                {
                    flag    = false,
                    message = "Project and Project Sites already exist!"
                };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }