예제 #1
0
        public ActionResult OBUDestroy([DataSourceRequest] DataSourceRequest request, OperationalBusinessUnitViewModel operationalBusinessUnitViewModel)
        {
            try
            {
                if (operationalBusinessUnitViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        OperationalBusinessUnit operationalBusinessUnit = (from s in context.OperationalBusinessUnits
                                                                           where
                                                                           s.ID ==
                                                                           operationalBusinessUnitViewModel.ID
                                                                           select s).FirstOrDefault();
                        context.OperationalBusinessUnits.Remove(operationalBusinessUnit);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
예제 #2
0
        public ActionResult IncidentDestroy([DataSourceRequest] DataSourceRequest request, SafetyIncidentViewModel safetyIncidentViewModel)
        {
            safetyIncidentViewModel.EmailMessage = "This incident has been deleted";

            SendEmail(safetyIncidentViewModel);

            try
            {
                if (safetyIncidentViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        SafetyIncident safetyIncident = (from si in context.SafetyIncidents
                                                         where si.ID == safetyIncidentViewModel.ID
                                                         select si).FirstOrDefault();

                        context.SafetyIncidents.Remove(safetyIncident);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
예제 #3
0
        public ActionResult VideoUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, VideoViewModel videoViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var video = context.Videos.FirstOrDefault(v => v.ID == videoViewModel.ID);

                        if (video != null)
                        {
                            video.Name         = videoViewModel.Name;
                            video.VideoGroupID = videoViewModel.GroupID;
                            video.ReferenceID  = videoViewModel.ReferenceID;
                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return(Json(new[] { videoViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #4
0
        public ActionResult CompanyCreate([DataSourceRequest] DataSourceRequest request, CompanyViewModel companyViewModel)
        {
            try
            {
                if (companyViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {

                        Company company = new Company
                            {
                                ID = companyViewModel.ID,
                                EntityID = companyViewModel.EntityID
                            };

                        context.Companies.Add(company);
                        context.SaveChanges();

                        companyViewModel.ID = company.ID;

                    }
                }

                return Json(new[] { companyViewModel }.ToDataSourceResult(request, ModelState));

            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return null;
            }
        }
예제 #5
0
        public ActionResult EntityCreate([DataSourceRequest] DataSourceRequest request, EntityViewModel entityViewModel)
        {
            try
            {
                if (entityViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Entity entity = new Entity
                        {
                            LocationID = entityViewModel.LocationID,
                            StatusID   = entityViewModel.StatusID,
                            Name       = entityViewModel.Name,
                            Code       = entityViewModel.Code,
                            CostCenter = entityViewModel.CostCenter
                        };

                        context.Entities.Add(entity);
                        context.SaveChanges();
                        entityViewModel.ID = entity.ID;
                    }
                }

                return(Json(new[] { entityViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
        }
예제 #6
0
        public ActionResult AreaCreate([DataSourceRequest] DataSourceRequest request, AreaViewModel areaViewModel)
        {
            try
            {
                if (areaViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoArea = new VideoArea
                        {
                            CompanyID = areaViewModel.CompanyID,
                            StrategicBusinessUnitID   = areaViewModel.StrategicBusinessUnitID,
                            OperationalBusinessUnitID = areaViewModel.OperationalBusinessUnitID,
                            BusinessUnitID            = areaViewModel.BusinessUnitID,
                            BranchID = areaViewModel.BranchID,
                            DepotID  = areaViewModel.DepotID,
                            Name     = areaViewModel.Name
                        };

                        context.VideoAreas.Add(videoArea);
                        context.SaveChanges();

                        areaViewModel.ID = videoArea.ID;
                    }
                }

                return(Json(new[] { areaViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return(null);
            }
        }
예제 #7
0
        public ActionResult AreaUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, AreaViewModel areaViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoArea = context.VideoAreas.FirstOrDefault(va => va.ID == areaViewModel.ID);

                        if (videoArea != null)
                        {
                            videoArea.CompanyID = areaViewModel.CompanyID;
                            videoArea.StrategicBusinessUnitID   = areaViewModel.StrategicBusinessUnitID;
                            videoArea.OperationalBusinessUnitID = areaViewModel.OperationalBusinessUnitID;
                            videoArea.BusinessUnitID            = areaViewModel.BusinessUnitID;
                            videoArea.BranchID = areaViewModel.BranchID;
                            videoArea.DepotID  = areaViewModel.DepotID;
                            videoArea.Name     = areaViewModel.Name;
                        }

                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }
            return(Json(new[] { areaViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #8
0
        public ActionResult EntityUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, EntityViewModel entityViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Entity entity = (from v in context.Entities
                                         where v.ID == entityViewModel.ID
                                         select v).FirstOrDefault();

                        if (entity != null)
                        {
                            entity.LocationID = entityViewModel.LocationID;
                            entity.StatusID   = entityViewModel.StatusID;
                            entity.Name       = entityViewModel.Name;
                            entity.Code       = entityViewModel.Code;
                            entity.CostCenter = entityViewModel.CostCenter;

                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return(Json(new[] { entityViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #9
0
        public ActionResult GroupUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, GroupViewModel groupViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoGroup = context.VideoGroups.FirstOrDefault(vg => vg.ID == groupViewModel.ID);

                        if (videoGroup != null)
                        {
                            videoGroup.Name        = groupViewModel.Name;
                            videoGroup.VideoAreaID = groupViewModel.AreaID;
                        }

                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return(Json(new[] { groupViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #10
0
        public ActionResult HoursWorkedDestroy([DataSourceRequest] DataSourceRequest request,
                                               HoursWorkedViewModel hoursWorkedViewModel)
        {
            try
            {
                if (hoursWorkedViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        HoursWorked hoursWorked = (from hw in context.HoursWorkeds
                                                   where hw.ID == hoursWorkedViewModel.ID
                                                   select hw).FirstOrDefault();

                        context.HoursWorkeds.Remove(hoursWorked);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
예제 #11
0
        public void AddNewMonth(AddMonthLocationViewModel addMonthLocationViewModel)
        {
            try
            {
                using (ASJDE context = new ASJDE())
                {
                    var user = Session["user"] as User;


                    HoursWorked hoursWorked = new HoursWorked
                    {
                        CountryID         = addMonthLocationViewModel.CountryID,
                        LocationID        = addMonthLocationViewModel.LocationID,
                        Year              = addMonthLocationViewModel.Year,
                        Month             = addMonthLocationViewModel.Month,
                        CreatedByDate     = DateTime.Now,
                        CreatedBy         = user.LastName + ", " + user.FirstName,
                        CreatedByUserName = user.UserName
                    };
                    context.HoursWorkeds.Add(hoursWorked);

                    context.SaveChanges();
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                logger.Error("Exception", dbEx);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
        }
예제 #12
0
        public ActionResult CompanyCreate([DataSourceRequest] DataSourceRequest request, CompanyViewModel companyViewModel)
        {
            try
            {
                if (companyViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Company company = new Company
                        {
                            ID       = companyViewModel.ID,
                            EntityID = companyViewModel.EntityID
                        };

                        context.Companies.Add(company);
                        context.SaveChanges();

                        companyViewModel.ID = company.ID;
                    }
                }

                return(Json(new[] { companyViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
        }
예제 #13
0
        public ActionResult VideoCreate([DataSourceRequest] DataSourceRequest request, VideoViewModel videoViewModel)
        {
            try
            {
                if (videoViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var video = new Video
                        {
                            VideoGroupID  = videoViewModel.GroupID,
                            Name          = videoViewModel.Name,
                            ReferenceID   = videoViewModel.ReferenceID,
                            CreatedDate   = DateTime.Now,
                            CreatedByUser = ""
                        };

                        context.Videos.Add(video);
                        context.SaveChanges();

                        videoViewModel.ID = video.ID;
                    }
                }

                return(Json(new[] { videoViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return(null);
            }
        }
예제 #14
0
        public ActionResult SBUCreate([DataSourceRequest] DataSourceRequest request, StrategicBusinessUnitViewModel strategicBusinessUnitViewModel)
        {
            try
            {
                if (strategicBusinessUnitViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        StrategicBusinessUnit strategicBusinessUnit = new StrategicBusinessUnit
                        {
                            CompanyID = strategicBusinessUnitViewModel.CompanyID,
                            EntityID  = strategicBusinessUnitViewModel.EntityID
                        };

                        context.StrategicBusinessUnits.Add(strategicBusinessUnit);
                        context.SaveChanges();
                        strategicBusinessUnitViewModel.ID = strategicBusinessUnit.ID;
                    }
                }

                return(Json(new[] { strategicBusinessUnitViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
        }
예제 #15
0
        public ActionResult OBUCreate([DataSourceRequest] DataSourceRequest request, OperationalBusinessUnitViewModel operationalBusinessUnitViewModel)
        {
            try
            {
                if (operationalBusinessUnitViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        OperationalBusinessUnit operationalBusinessUnit = new OperationalBusinessUnit
                        {
                            StrategicBusinessUnitID = operationalBusinessUnitViewModel.StrategicBusinessUnitID,
                            EntityID = operationalBusinessUnitViewModel.EntityID
                        };

                        context.OperationalBusinessUnits.Add(operationalBusinessUnit);
                        context.SaveChanges();
                        operationalBusinessUnitViewModel.ID = operationalBusinessUnit.ID;
                    }
                }

                return(Json(new[] { operationalBusinessUnitViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
        }
예제 #16
0
        public ActionResult OBUUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, OperationalBusinessUnitViewModel operationalBusinessUnitViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        OperationalBusinessUnit operationalBusinessUnit = (from s in context.OperationalBusinessUnits
                                                                           where
                                                                           s.ID ==
                                                                           operationalBusinessUnitViewModel.ID
                                                                           select s).FirstOrDefault();


                        if (operationalBusinessUnit != null)
                        {
                            operationalBusinessUnit.EntityID = operationalBusinessUnitViewModel.EntityID;
                            operationalBusinessUnit.StrategicBusinessUnitID = operationalBusinessUnitViewModel.StrategicBusinessUnitID;

                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return(Json(new[] { operationalBusinessUnitViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #17
0
        public ActionResult GroupCreate([DataSourceRequest] DataSourceRequest request, GroupViewModel groupViewModel)
        {
            try
            {
                if (groupViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoGroup = new VideoGroup
                        {
                            VideoAreaID = groupViewModel.AreaID,
                            Name        = groupViewModel.Name,
                        };

                        context.VideoGroups.Add(videoGroup);
                        context.SaveChanges();

                        groupViewModel.ID = videoGroup.ID;
                    }
                }

                return(Json(new[] { groupViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return(null);
            }
        }
예제 #18
0
        public ActionResult IncidentUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, SafetyIncidentViewModel safetyIncidentViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        var existingIncident = (from si in context.SafetyIncidents
                                                where si.ID == safetyIncidentViewModel.ID
                                                select si).FirstOrDefault();

                        existingIncident.StatusID                     = safetyIncidentViewModel.StatusID;
                        existingIncident.EmployeeTypeID               = safetyIncidentViewModel.EmployeeTypeID;
                        existingIncident.SiteCategoryID               = safetyIncidentViewModel.SiteCategoryID;
                        existingIncident.TypeID                       = safetyIncidentViewModel.TypeID;
                        existingIncident.OutcomeID                    = safetyIncidentViewModel.OutcomeID;
                        existingIncident.UnsafeActID                  = safetyIncidentViewModel.UnsafeActID;
                        existingIncident.CauseCategoryID              = safetyIncidentViewModel.CauseCategoryID;
                        existingIncident.CauseID                      = safetyIncidentViewModel.CauseID;
                        existingIncident.DateOfIncident               = safetyIncidentViewModel.DateOfIncident;
                        existingIncident.EmployeeName                 = safetyIncidentViewModel.EmployeeName;
                        existingIncident.Title                        = safetyIncidentViewModel.Title;
                        existingIncident.WorkRelated                  = safetyIncidentViewModel.WorkRelated;
                        existingIncident.LocationSite                 = safetyIncidentViewModel.LocationSite;
                        existingIncident.Description                  = safetyIncidentViewModel.Description;
                        existingIncident.DaysAwayFromWork             = safetyIncidentViewModel.DaysAwayFromWork;
                        existingIncident.DaysTransferredRestricted    = safetyIncidentViewModel.DaysTransferredRestricted;
                        existingIncident.ReturnToWork                 = safetyIncidentViewModel.ReturnToWork;
                        existingIncident.DateReturnedToWork           = safetyIncidentViewModel.DateReturnedToWork;
                        existingIncident.RootCause                    = safetyIncidentViewModel.RootCause;
                        existingIncident.CorrectiveAction             = safetyIncidentViewModel.CorrectiveAction;
                        existingIncident.ResponsiblePerson            = safetyIncidentViewModel.ResponsiblePerson;
                        existingIncident.Deadline                     = safetyIncidentViewModel.Deadline;
                        existingIncident.Complete                     = safetyIncidentViewModel.Complete;
                        existingIncident.Recordable                   = safetyIncidentViewModel.Recordable;
                        existingIncident.LocationID                   = safetyIncidentViewModel.LocationID;
                        existingIncident.CountryID                    = safetyIncidentViewModel.CountryID;
                        existingIncident.EntityID                     = safetyIncidentViewModel.EntityID;
                        existingIncident.DateReturnedToWorkRestricted =
                            safetyIncidentViewModel.DateReturnedToWorkRestricted;

                        context.SaveChanges();
                    }
                }

                SendEmail(safetyIncidentViewModel);
            }
            catch (DbEntityValidationException)
            {
                return(null);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return(Json(new[] { safetyIncidentViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #19
0
        public void AddNewMonth(AddMonthViewModel addMonthViewModel)
        {
            try
            {
                using (ASJDE context = new ASJDE())
                {
                    var user = Session["user"] as User;

                    List <decimal> locations = (from l in context.Locations
                                                where l.CountryID == addMonthViewModel.CountryID &&
                                                l.LocationStatusID == 1
                                                select l.ID).ToList();

                    List <decimal> existingLocations = (from h in context.HoursWorkeds
                                                        where
                                                        h.CountryID == addMonthViewModel.CountryID &&
                                                        h.Month == addMonthViewModel.Month &&
                                                        h.Year == addMonthViewModel.Year
                                                        select h.LocationID).ToList();

                    var locationsThatNeedAdded = locations.Except(existingLocations);


                    foreach (var location in locationsThatNeedAdded)
                    {
                        HoursWorked hoursWorked = new HoursWorked
                        {
                            CountryID         = addMonthViewModel.CountryID,
                            LocationID        = location,
                            Year              = addMonthViewModel.Year,
                            Month             = addMonthViewModel.Month,
                            CreatedByDate     = DateTime.Now,
                            CreatedBy         = user.LastName + ", " + user.FirstName,
                            CreatedByUserName = user.UserName
                        };
                        context.HoursWorkeds.Add(hoursWorked);
                    }
                    context.SaveChanges();
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                logger.Error("Exception", dbEx);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
        }
예제 #20
0
        public ActionResult VideoDestroy([DataSourceRequest] DataSourceRequest request, VideoViewModel videoViewModel)
        {
            try
            {
                if (videoViewModel != null)
                {
                    using (var context = new ASJDE())
                    {
                        var video = context.Videos.FirstOrDefault(v => v.ID == videoViewModel.ID);
                        context.Videos.Remove(video);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
예제 #21
0
        public void LogVideo(int videoId)
        {
            try
            {
                using (var context = new ASJDE())
                {
                    var videoLog = new VideoLog
                    {
                        VideoID   = videoId,
                        User      = _securityService.GetDomainAndUsername(),
                        TimeStamp = DateTime.Now
                    };

                    context.VideoLogs.Add(videoLog);
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }
        }
예제 #22
0
        public ActionResult HoursWorkedUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, HoursWorkedViewModel hoursWorkedViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        var user = Session["user"] as User;

                        HoursWorked hoursWorked = (from hw in context.HoursWorkeds
                                                   where hw.ID == hoursWorkedViewModel.ID
                                                   select hw).FirstOrDefault();

                        hoursWorked.Hours            = hoursWorkedViewModel.Hours;
                        hoursWorked.EntityID         = hoursWorkedViewModel.EntityID;
                        hoursWorked.EditedByUserName = user.UserName;
                        hoursWorked.EditedByDate     = DateTime.Now;
                        hoursWorked.EditedByName     = user.LastName + ", " + user.FirstName;

                        context.SaveChanges();

                        hoursWorkedViewModel.EditedBy = user.LastName + ", " + user.FirstName;
                    }
                }
            }
            catch (DbEntityValidationException)
            {
                return(null);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return(Json(new[] { hoursWorkedViewModel }.ToDataSourceResult(dataSourceRequest, ModelState)));
        }
예제 #23
0
        public ActionResult EntityDestroy([DataSourceRequest] DataSourceRequest request, EntityViewModel entityViewModel)
        {
            try
            {
                if (entityViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Entity entity = (from v in context.Entities
                                         where v.ID == entityViewModel.ID
                                         select v).FirstOrDefault();

                        context.Entities.Remove(entity);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
예제 #24
0
        public ActionResult VideoUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, VideoViewModel videoViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var video = context.Videos.FirstOrDefault(v => v.ID == videoViewModel.ID);

                        if (video != null)
                        {
                            video.Name = videoViewModel.Name;
                            video.VideoGroupID = videoViewModel.GroupID;
                            video.ReferenceID = videoViewModel.ReferenceID;
                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return Json(new[] { videoViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #25
0
        public ActionResult SBUDestroy([DataSourceRequest] DataSourceRequest request, StrategicBusinessUnitViewModel strategicBusinessUnitViewModel)
        {
            try
            {
                if (strategicBusinessUnitViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        StrategicBusinessUnit strategicBusinessUnit = (from s in context.StrategicBusinessUnits
                                                                       where s.ID == strategicBusinessUnitViewModel.ID
                                                                       select s).FirstOrDefault();
                        context.StrategicBusinessUnits.Remove(strategicBusinessUnit);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return Json(ModelState.ToDataSourceResult());
        }
예제 #26
0
        public ActionResult IncidentDestroy([DataSourceRequest] DataSourceRequest request, SafetyIncidentViewModel safetyIncidentViewModel)
        {
            safetyIncidentViewModel.EmailMessage = "This incident has been deleted";

            SendEmail(safetyIncidentViewModel);

            try
            {
                if (safetyIncidentViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        SafetyIncident safetyIncident = (from si in context.SafetyIncidents
                                                         where si.ID == safetyIncidentViewModel.ID
                                                         select si).FirstOrDefault();

                        context.SafetyIncidents.Remove(safetyIncident);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return Json(ModelState.ToDataSourceResult());
        }
예제 #27
0
        public ActionResult VideoDestroy([DataSourceRequest] DataSourceRequest request, VideoViewModel videoViewModel)
        {
            try
            {
                if (videoViewModel != null)
                {
                    using (var context = new ASJDE())
                    {
                        var video = context.Videos.FirstOrDefault(v => v.ID == videoViewModel.ID);
                        context.Videos.Remove(video);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return Json(ModelState.ToDataSourceResult());
        }
예제 #28
0
        public ActionResult EntityDestroy([DataSourceRequest] DataSourceRequest request, EntityViewModel entityViewModel)
        {
            try
            {
                if (entityViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Entity entity = (from v in context.Entities
                                         where v.ID == entityViewModel.ID
                                         select v).FirstOrDefault();

                        context.Entities.Remove(entity);
                        context.SaveChanges();

                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return Json(ModelState.ToDataSourceResult());
        }
예제 #29
0
        public ActionResult IncidentUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, SafetyIncidentViewModel safetyIncidentViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        var existingIncident = (from si in context.SafetyIncidents
                                                where si.ID == safetyIncidentViewModel.ID
                                                select si).FirstOrDefault();

                        existingIncident.StatusID = safetyIncidentViewModel.StatusID;
                        existingIncident.EmployeeTypeID = safetyIncidentViewModel.EmployeeTypeID;
                        existingIncident.SiteCategoryID = safetyIncidentViewModel.SiteCategoryID;
                        existingIncident.TypeID = safetyIncidentViewModel.TypeID;
                        existingIncident.OutcomeID = safetyIncidentViewModel.OutcomeID;
                        existingIncident.UnsafeActID = safetyIncidentViewModel.UnsafeActID;
                        existingIncident.CauseCategoryID = safetyIncidentViewModel.CauseCategoryID;
                        existingIncident.CauseID = safetyIncidentViewModel.CauseID;
                        existingIncident.DateOfIncident = safetyIncidentViewModel.DateOfIncident;
                        existingIncident.EmployeeName = safetyIncidentViewModel.EmployeeName;
                        existingIncident.Title = safetyIncidentViewModel.Title;
                        existingIncident.WorkRelated = safetyIncidentViewModel.WorkRelated;
                        existingIncident.LocationSite = safetyIncidentViewModel.LocationSite;
                        existingIncident.Description = safetyIncidentViewModel.Description;
                        existingIncident.DaysAwayFromWork = safetyIncidentViewModel.DaysAwayFromWork;
                        existingIncident.DaysTransferredRestricted = safetyIncidentViewModel.DaysTransferredRestricted;
                        existingIncident.ReturnToWork = safetyIncidentViewModel.ReturnToWork;
                        existingIncident.DateReturnedToWork = safetyIncidentViewModel.DateReturnedToWork;
                        existingIncident.RootCause = safetyIncidentViewModel.RootCause;
                        existingIncident.CorrectiveAction = safetyIncidentViewModel.CorrectiveAction;
                        existingIncident.ResponsiblePerson = safetyIncidentViewModel.ResponsiblePerson;
                        existingIncident.Deadline = safetyIncidentViewModel.Deadline;
                        existingIncident.Complete = safetyIncidentViewModel.Complete;
                        existingIncident.Recordable = safetyIncidentViewModel.Recordable;
                        existingIncident.LocationID = safetyIncidentViewModel.LocationID;
                        existingIncident.CountryID = safetyIncidentViewModel.CountryID;
                        existingIncident.EntityID = safetyIncidentViewModel.EntityID;
                        existingIncident.DateReturnedToWorkRestricted =
                            safetyIncidentViewModel.DateReturnedToWorkRestricted;

                        context.SaveChanges();
                    }

                }

                SendEmail(safetyIncidentViewModel);
            }
            catch (DbEntityValidationException)
            {
                return null;
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return Json(new[] { safetyIncidentViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #30
0
        public ActionResult AreaUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, AreaViewModel areaViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoArea = context.VideoAreas.FirstOrDefault(va => va.ID == areaViewModel.ID);

                        if (videoArea != null)
                        {
                            videoArea.CompanyID = areaViewModel.CompanyID;
                            videoArea.StrategicBusinessUnitID = areaViewModel.StrategicBusinessUnitID;
                            videoArea.OperationalBusinessUnitID = areaViewModel.OperationalBusinessUnitID;
                            videoArea.BusinessUnitID = areaViewModel.BusinessUnitID;
                            videoArea.BranchID = areaViewModel.BranchID;
                            videoArea.DepotID = areaViewModel.DepotID;
                            videoArea.Name = areaViewModel.Name;
                        }

                        context.SaveChanges();
                    }

                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }
            return Json(new[] { areaViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #31
0
        public ActionResult OBUCreate([DataSourceRequest] DataSourceRequest request, OperationalBusinessUnitViewModel operationalBusinessUnitViewModel)
        {
            try
            {
                if (operationalBusinessUnitViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {

                        OperationalBusinessUnit operationalBusinessUnit = new OperationalBusinessUnit
                            {
                                StrategicBusinessUnitID = operationalBusinessUnitViewModel.StrategicBusinessUnitID,
                                EntityID = operationalBusinessUnitViewModel.EntityID
                            };

                        context.OperationalBusinessUnits.Add(operationalBusinessUnit);
                        context.SaveChanges();
                        operationalBusinessUnitViewModel.ID = operationalBusinessUnit.ID;

                    }
                }

                return Json(new[] { operationalBusinessUnitViewModel }.ToDataSourceResult(request, ModelState));

            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return null;
            }
        }
예제 #32
0
        public ActionResult HoursWorkedUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, HoursWorkedViewModel hoursWorkedViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        var user = Session["user"] as User;

                        HoursWorked hoursWorked = (from hw in context.HoursWorkeds
                                                   where hw.ID == hoursWorkedViewModel.ID
                                                   select hw).FirstOrDefault();

                        hoursWorked.Hours = hoursWorkedViewModel.Hours;
                        hoursWorked.EntityID = hoursWorkedViewModel.EntityID;
                        hoursWorked.EditedByUserName = user.UserName;
                        hoursWorked.EditedByDate = DateTime.Now;
                        hoursWorked.EditedByName = user.LastName + ", " + user.FirstName;

                        context.SaveChanges();

                        hoursWorkedViewModel.EditedBy = user.LastName + ", " + user.FirstName;

                    }
                }
            }
            catch (DbEntityValidationException)
            {
                return null;
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return Json(new[] { hoursWorkedViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #33
0
        public ActionResult AreaCreate([DataSourceRequest] DataSourceRequest request, AreaViewModel areaViewModel)
        {
            try
            {
                if (areaViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoArea = new VideoArea
                            {
                                CompanyID = areaViewModel.CompanyID,
                                StrategicBusinessUnitID = areaViewModel.StrategicBusinessUnitID,
                                OperationalBusinessUnitID = areaViewModel.OperationalBusinessUnitID,
                                BusinessUnitID = areaViewModel.BusinessUnitID,
                                BranchID = areaViewModel.BranchID,
                                DepotID = areaViewModel.DepotID,
                                Name = areaViewModel.Name
                            };

                        context.VideoAreas.Add(videoArea);
                        context.SaveChanges();

                        areaViewModel.ID = videoArea.ID;
                    }
                }

                return Json(new[] { areaViewModel }.ToDataSourceResult(request, ModelState));
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return null;
            }
        }
예제 #34
0
        public ActionResult HoursWorkedDestroy([DataSourceRequest] DataSourceRequest request,
                                               HoursWorkedViewModel hoursWorkedViewModel)
        {
            try
            {
                if (hoursWorkedViewModel != null)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        HoursWorked hoursWorked = (from hw in context.HoursWorkeds
                                                   where hw.ID == hoursWorkedViewModel.ID
                                                   select hw).FirstOrDefault();

                        context.HoursWorkeds.Remove(hoursWorked);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }

            return Json(ModelState.ToDataSourceResult());
        }
예제 #35
0
        public void AddNewMonth(AddMonthLocationViewModel addMonthLocationViewModel)
        {
            try
            {
                using (ASJDE context = new ASJDE())
                {
                    var user = Session["user"] as User;

                    HoursWorked hoursWorked = new HoursWorked
                        {
                            CountryID = addMonthLocationViewModel.CountryID,
                            LocationID = addMonthLocationViewModel.LocationID,
                            Year = addMonthLocationViewModel.Year,
                            Month = addMonthLocationViewModel.Month,
                            CreatedByDate = DateTime.Now,
                            CreatedBy = user.LastName + ", " + user.FirstName,
                            CreatedByUserName = user.UserName
                        };
                    context.HoursWorkeds.Add(hoursWorked);

                    context.SaveChanges();

                }
            }
            catch (DbEntityValidationException dbEx)
            {
                logger.Error("Exception", dbEx);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
        }
예제 #36
0
        public void AddNewMonth(AddMonthViewModel addMonthViewModel)
        {
            try
            {
                using (ASJDE context = new ASJDE())
                {
                    var user = Session["user"] as User;

                    List<decimal> locations = (from l in context.Locations
                                               where l.CountryID == addMonthViewModel.CountryID
                                               && l.LocationStatusID == 1
                                               select l.ID).ToList();

                    List<decimal> existingLocations = (from h in context.HoursWorkeds
                                                       where
                                                           h.CountryID == addMonthViewModel.CountryID &&
                                                           h.Month == addMonthViewModel.Month &&
                                                           h.Year == addMonthViewModel.Year
                                                       select h.LocationID).ToList();

                    var locationsThatNeedAdded = locations.Except(existingLocations);

                    foreach (var location in locationsThatNeedAdded)
                    {
                        HoursWorked hoursWorked = new HoursWorked
                            {
                                CountryID = addMonthViewModel.CountryID,
                                LocationID = location,
                                Year = addMonthViewModel.Year,
                                Month = addMonthViewModel.Month,
                                CreatedByDate = DateTime.Now,
                                CreatedBy = user.LastName + ", " + user.FirstName,
                                CreatedByUserName = user.UserName
                            };
                        context.HoursWorkeds.Add(hoursWorked);
                    }
                    context.SaveChanges();

                }
            }
            catch (DbEntityValidationException dbEx)
            {
                logger.Error("Exception", dbEx);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
        }
예제 #37
0
        public ActionResult SBUCreate([DataSourceRequest] DataSourceRequest request, StrategicBusinessUnitViewModel strategicBusinessUnitViewModel)
        {
            try
            {
                if (strategicBusinessUnitViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {

                        StrategicBusinessUnit strategicBusinessUnit = new StrategicBusinessUnit
                            {
                                CompanyID = strategicBusinessUnitViewModel.CompanyID,
                                EntityID = strategicBusinessUnitViewModel.EntityID
                            };

                        context.StrategicBusinessUnits.Add(strategicBusinessUnit);
                        context.SaveChanges();
                        strategicBusinessUnitViewModel.ID = strategicBusinessUnit.ID;

                    }
                }

                return Json(new[] { strategicBusinessUnitViewModel }.ToDataSourceResult(request, ModelState));

            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return null;
            }
        }
예제 #38
0
        public ActionResult GroupCreate([DataSourceRequest] DataSourceRequest request, GroupViewModel groupViewModel)
        {
            try
            {
                if (groupViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoGroup = new VideoGroup
                            {
                                VideoAreaID = groupViewModel.AreaID,
                                Name = groupViewModel.Name,
                            };

                        context.VideoGroups.Add(videoGroup);
                        context.SaveChanges();

                        groupViewModel.ID = videoGroup.ID;
                    }
                }

                return Json(new[] { groupViewModel }.ToDataSourceResult(request, ModelState));

            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return null;
            }
        }
예제 #39
0
        public ActionResult IncidentCreate([DataSourceRequest] DataSourceRequest request,
                                           SafetyIncidentViewModel safetyIncidentViewModel)
        {
            try
            {
                if (safetyIncidentViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        var user = Session["user"] as User;

                        SafetyIncident safetyIncident = new SafetyIncident
                        {
                            StatusID                     = safetyIncidentViewModel.StatusID,
                            EmployeeTypeID               = safetyIncidentViewModel.EmployeeTypeID,
                            SiteCategoryID               = safetyIncidentViewModel.SiteCategoryID,
                            TypeID                       = safetyIncidentViewModel.TypeID,
                            OutcomeID                    = safetyIncidentViewModel.OutcomeID,
                            UnsafeActID                  = safetyIncidentViewModel.UnsafeActID,
                            CauseCategoryID              = safetyIncidentViewModel.CauseCategoryID,
                            CauseID                      = safetyIncidentViewModel.CauseID,
                            DateOfIncident               = safetyIncidentViewModel.DateOfIncident,
                            EmployeeName                 = safetyIncidentViewModel.EmployeeName,
                            Title                        = safetyIncidentViewModel.Title,
                            WorkRelated                  = safetyIncidentViewModel.WorkRelated,
                            LocationSite                 = safetyIncidentViewModel.LocationSite,
                            Description                  = safetyIncidentViewModel.Description,
                            DaysAwayFromWork             = safetyIncidentViewModel.DaysAwayFromWork,
                            DaysTransferredRestricted    = safetyIncidentViewModel.DaysTransferredRestricted,
                            ReturnToWork                 = safetyIncidentViewModel.ReturnToWork,
                            DateReturnedToWork           = safetyIncidentViewModel.DateReturnedToWork,
                            RootCause                    = safetyIncidentViewModel.RootCause,
                            CorrectiveAction             = safetyIncidentViewModel.CorrectiveAction,
                            ResponsiblePerson            = safetyIncidentViewModel.ResponsiblePerson,
                            Deadline                     = safetyIncidentViewModel.Deadline,
                            Complete                     = safetyIncidentViewModel.Complete,
                            Recordable                   = safetyIncidentViewModel.Recordable,
                            CreatedByUser                = user.LastName + ", " + user.FirstName,
                            CreatedByUserName            = user.UserName,
                            CreatedDate                  = Convert.ToDateTime(DateTime.Today.ToShortDateString()),
                            LocationID                   = safetyIncidentViewModel.LocationID,
                            CountryID                    = safetyIncidentViewModel.CountryID,
                            EntityID                     = safetyIncidentViewModel.EntityID,
                            DateReturnedToWorkRestricted = safetyIncidentViewModel.DateReturnedToWorkRestricted
                        };

                        context.SafetyIncidents.Add(safetyIncident);
                        context.SaveChanges();

                        safetyIncidentViewModel.ID            = safetyIncident.ID;
                        safetyIncidentViewModel.CreatedByUser = safetyIncident.CreatedByUser;
                        safetyIncidentViewModel.CreatedDate   = safetyIncident.CreatedDate;
                    }
                }

                SendEmail(safetyIncidentViewModel);


                return(Json(new[] { safetyIncidentViewModel }.ToDataSourceResult(request, ModelState)));
            }
            catch (DbEntityValidationException)
            {
                return(null);
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return(null);
            }
        }
예제 #40
0
        public ActionResult GroupUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, GroupViewModel groupViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var videoGroup = context.VideoGroups.FirstOrDefault(vg => vg.ID == groupViewModel.ID);

                        if (videoGroup != null)
                        {
                            videoGroup.Name = groupViewModel.Name;
                            videoGroup.VideoAreaID = groupViewModel.AreaID;
                        }

                        context.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }

            return Json(new[] { groupViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #41
0
        public ActionResult EntityUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, EntityViewModel entityViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        Entity entity = (from v in context.Entities
                                         where v.ID == entityViewModel.ID
                                       select v).FirstOrDefault();

                        if (entity != null)
                        {
                            entity.LocationID = entityViewModel.LocationID;
                            entity.StatusID = entityViewModel.StatusID;
                            entity.Name = entityViewModel.Name;
                            entity.Code = entityViewModel.Code;
                            entity.CostCenter = entityViewModel.CostCenter;

                            context.SaveChanges();
                        }
                    }

                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return Json(new[] { entityViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #42
0
        public void LogVideo(int videoId)
        {
            try
            {
                using (var context = new ASJDE())
                {
                    var videoLog = new VideoLog
                    {
                        VideoID = videoId,
                        User = _securityService.GetDomainAndUsername(),
                        TimeStamp = DateTime.Now
                    };

                    context.VideoLogs.Add(videoLog);
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
            }
        }
예제 #43
0
        public ActionResult EntityCreate([DataSourceRequest] DataSourceRequest request, EntityViewModel entityViewModel)
        {
            try
            {
                if (entityViewModel != null && ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {

                        Entity entity = new Entity
                            {
                                LocationID = entityViewModel.LocationID,
                                StatusID = entityViewModel.StatusID,
                                Name = entityViewModel.Name,
                                Code = entityViewModel.Code,
                                CostCenter = entityViewModel.CostCenter

                            };

                        context.Entities.Add(entity);
                        context.SaveChanges();
                        entityViewModel.ID = entity.ID;
                    }
                }

                return Json(new[] { entityViewModel }.ToDataSourceResult(request, ModelState));

            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return null;
            }
        }
예제 #44
0
        public ActionResult VideoCreate([DataSourceRequest] DataSourceRequest request, VideoViewModel videoViewModel)
        {
            try
            {
                if (videoViewModel != null && ModelState.IsValid)
                {
                    using (var context = new ASJDE())
                    {
                        var video = new Video
                            {
                                VideoGroupID = videoViewModel.GroupID,
                                Name = videoViewModel.Name,
                                ReferenceID = videoViewModel.ReferenceID,
                                CreatedDate = DateTime.Now,
                                CreatedByUser = ""
                            };

                        context.Videos.Add(video);
                        context.SaveChanges();

                        videoViewModel.ID = video.ID;
                    }
                }

                return Json(new[] { videoViewModel }.ToDataSourceResult(request, ModelState));
            }
            catch (Exception e)
            {
                Logger.Error("Exception", e);
                return null;
            }
        }
예제 #45
0
        public void LogUser(Request request)
        {
            PortalUser portalUser = new PortalUser();

            HttpRequest httpRequest = GetHttpRequestFromHttpResponseBase(Request);
            HttpResponse httpResponse = GetHttpResponseFromHttpResponseBase(Response);

            portalUser = GetPortalUser(PortletContextFactory.CreatePortletContext(httpRequest, httpResponse));

            if (portalUser != null)
            {
                using (ASJDE context = new ASJDE())
                {
                    VideoLog videoLog = new VideoLog
                        {
                            VideoID = request.VideoID,
                            User = request.User,
                            TimeStamp = DateTime.Now
                        };

                    context.VideoLogs.Add(videoLog);
                    context.SaveChanges();
                }
            }
        }
예제 #46
0
        public ActionResult SBUUpdate([DataSourceRequest] DataSourceRequest dataSourceRequest, StrategicBusinessUnitViewModel strategicBusinessUnitViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (ASJDE context = new ASJDE())
                    {
                        StrategicBusinessUnit strategicBusinessUnit = (from s in context.StrategicBusinessUnits
                                                                       where s.ID == strategicBusinessUnitViewModel.ID
                                                                       select s).FirstOrDefault();

                        if (strategicBusinessUnit != null)
                        {
                            strategicBusinessUnit.EntityID = strategicBusinessUnitViewModel.EntityID;
                            strategicBusinessUnit.CompanyID = strategicBusinessUnitViewModel.CompanyID;

                            context.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
            }
            return Json(new[] { strategicBusinessUnitViewModel }.ToDataSourceResult(dataSourceRequest, ModelState));
        }
예제 #47
0
        public ActionResult VideoPlayer(string id)
        {
            string[] partsOfID = id.Split(new[] { '|' });

            string environment = ConfigurationManager.AppSettings["environment"];

            Video video = GetVideoByID(Convert.ToInt64(partsOfID[0]));

            VideoPlayerViewModel videoPlayerViewModel = new VideoPlayerViewModel
            {
                Name = video.Name,
                ReferenceID = video.ReferenceID,
                VideoPlayer = BuildPlayerJavaScript(video.ReferenceID)
            };

            if (environment != "Dev")
            {
                using (ASJDE context = new ASJDE())
                {
                    VideoLog videoLog = new VideoLog
                        {
                            VideoID = Convert.ToInt64(partsOfID[0]),
                            User = partsOfID[1],
                            TimeStamp = DateTime.Now
                        };

                    context.VideoLogs.Add(videoLog);
                    context.SaveChanges();
                }

            }

            return View(videoPlayerViewModel);
        }
예제 #48
0
        public ActionResult IncidentCreate([DataSourceRequest] DataSourceRequest request,
                                           SafetyIncidentViewModel safetyIncidentViewModel)
        {
            try
            {
                if (safetyIncidentViewModel != null && ModelState.IsValid)
                {

                    using (ASJDE context = new ASJDE())
                    {

                        var user = Session["user"] as User;

                        SafetyIncident safetyIncident = new SafetyIncident
                                {
                                    StatusID = safetyIncidentViewModel.StatusID,
                                    EmployeeTypeID = safetyIncidentViewModel.EmployeeTypeID,
                                    SiteCategoryID = safetyIncidentViewModel.SiteCategoryID,
                                    TypeID = safetyIncidentViewModel.TypeID,
                                    OutcomeID = safetyIncidentViewModel.OutcomeID,
                                    UnsafeActID = safetyIncidentViewModel.UnsafeActID,
                                    CauseCategoryID = safetyIncidentViewModel.CauseCategoryID,
                                    CauseID = safetyIncidentViewModel.CauseID,
                                    DateOfIncident = safetyIncidentViewModel.DateOfIncident,
                                    EmployeeName = safetyIncidentViewModel.EmployeeName,
                                    Title = safetyIncidentViewModel.Title,
                                    WorkRelated = safetyIncidentViewModel.WorkRelated,
                                    LocationSite = safetyIncidentViewModel.LocationSite,
                                    Description = safetyIncidentViewModel.Description,
                                    DaysAwayFromWork = safetyIncidentViewModel.DaysAwayFromWork,
                                    DaysTransferredRestricted = safetyIncidentViewModel.DaysTransferredRestricted,
                                    ReturnToWork = safetyIncidentViewModel.ReturnToWork,
                                    DateReturnedToWork = safetyIncidentViewModel.DateReturnedToWork,
                                    RootCause = safetyIncidentViewModel.RootCause,
                                    CorrectiveAction = safetyIncidentViewModel.CorrectiveAction,
                                    ResponsiblePerson = safetyIncidentViewModel.ResponsiblePerson,
                                    Deadline = safetyIncidentViewModel.Deadline,
                                    Complete = safetyIncidentViewModel.Complete,
                                    Recordable = safetyIncidentViewModel.Recordable,
                                    CreatedByUser = user.LastName + ", " + user.FirstName,
                                    CreatedByUserName = user.UserName,
                                    CreatedDate = Convert.ToDateTime(DateTime.Today.ToShortDateString()),
                                    LocationID = safetyIncidentViewModel.LocationID,
                                    CountryID = safetyIncidentViewModel.CountryID,
                                    EntityID = safetyIncidentViewModel.EntityID,
                                    DateReturnedToWorkRestricted = safetyIncidentViewModel.DateReturnedToWorkRestricted

                                };

                        context.SafetyIncidents.Add(safetyIncident);
                        context.SaveChanges();

                        safetyIncidentViewModel.ID = safetyIncident.ID;
                        safetyIncidentViewModel.CreatedByUser = safetyIncident.CreatedByUser;
                        safetyIncidentViewModel.CreatedDate = safetyIncident.CreatedDate;

                    }

                }

                SendEmail(safetyIncidentViewModel);

                return Json(new[] { safetyIncidentViewModel }.ToDataSourceResult(request, ModelState));
            }
            catch (DbEntityValidationException)
            {
                return null;
            }
            catch (Exception e)
            {
                logger.Error("Exception", e);
                return null;
            }
        }