예제 #1
0
        public ActionResult EditAssigning(AssigningsViewModel AssigningVM)
        {
            if (AssigningVM.AssigningType.AssigningTypeID == (Int32)AssigningsTypesEnum.Internal)
            {
                InternalAssigningBLL assigning = (InternalAssigningBLL)AssigingsFactory.CreateAssigning(AssigningsTypesEnum.Internal);
                assigning.AssigningID   = AssigningVM.AssigningID;
                assigning.AssigningType = new AssigningsTypesBLL()
                {
                    AssigningTypeID = (Int32)AssigningsTypesEnum.Internal
                };
                assigning.AssigningStartDate = AssigningVM.AssginingStartDate.Value.Date;
                //assigning.AssigningEndDate = AssigningVM.AssginingEndDate.HasValue ? AssigningVM.AssginingEndDate.Value.Date : (DateTime?)null;
                //assigning.IsFinished = AssigningVM.IsFinished;
                assigning.EmployeeCareerHistory = new EmployeesCareersHistoryBLL()
                {
                    EmployeeCareerHistoryID = AssigningVM.EmployeeCareerHistoryID
                };
                assigning.Job = new JobsBLL()
                {
                    JobID = AssigningVM.JobID.HasValue ? AssigningVM.JobID.Value : 0
                };
                assigning.Organization = new OrganizationsStructuresBLL()
                {
                    OrganizationID = AssigningVM.OrganizationID.Value
                };
                assigning.Manager = AssigningVM.ManagerCodeID.HasValue ? new EmployeesCodesBLL()
                {
                    EmployeeCodeID = AssigningVM.ManagerCodeID.Value
                } : null;

                assigning.AssigningReason = new AssigningsReasonsBLL()
                {
                    AssigningReasonID = AssigningVM.AssigningReason.AssigningReasonID
                };
                assigning.LoginIdentity = new EmployeesCodesBLL()
                {
                    EmployeeCodeID = int.Parse(Session["EmployeeCodeID"].ToString())
                };
                assigning.AssigningReasonOther = AssigningVM.AssigningReasonOther;

                Result result = assigning.Update();
                if ((System.Type)result.EnumType == typeof(AssigningsValidationEnum))
                {
                    if (result.EnumMember == AssigningsValidationEnum.Done.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        Session["AssigningID"] = ((InternalAssigningBLL)result.Entity).AssigningID;
                    }

                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfAlreadyFinished.ToString())
                    {
                        throw new CustomException(Resources.Globalization.ValidationBecauseOfAssigningAlreadyFinishedText);
                    }
                    //else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfActivePreviousAssigning.ToString())
                    //{
                    //    BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                    //    throw new CustomException(Resources.Globalization.MustEndPreviousAssigningText + "NewLine" + "تاريخ اخر تكليف : " + assgining.AssigningStartDate.ToShortDateString());
                    //}
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfConflictWithLenders.ToString())
                    {
                        LendersBLL Lender = ((LendersBLL)result.Entity);
                        throw new CustomException(string.Format(Resources.Globalization.ValidationConflictWithLenderText,
                                                                Lender.LenderStartDate.ToShortDateString(), Lender.LenderEndDate.ToShortDateString()));
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfEndDateIsLessThanCreationDate.ToString())
                    {
                        throw new CustomException(Resources.Globalization.ValidationBecauseOfEndDateIsLessThanCreationDateText);
                    }
                }
            }
            else if (AssigningVM.AssigningType.AssigningTypeID == (Int32)AssigningsTypesEnum.External)
            {
                ExternalAssigningBLL assigning = (ExternalAssigningBLL)AssigingsFactory.CreateAssigning(AssigningsTypesEnum.External);
                assigning.AssigningID   = AssigningVM.AssigningID;
                assigning.AssigningType = new AssigningsTypesBLL()
                {
                    AssigningTypeID = (Int32)AssigningsTypesEnum.External
                };
                assigning.AssigningStartDate = AssigningVM.AssginingStartDate.Value.Date;
                //assigning.AssigningEndDate = AssigningVM.AssginingEndDate.HasValue ? AssigningVM.AssginingEndDate.Value.Date : (DateTime?)null;
                //assigning.IsFinished = AssigningVM.IsFinished;
                //assigning.Employee = new EmployeesCodesBLL() { EmployeeCodeID = AssigningVM.EmployeeCodeID };
                assigning.EmployeeCareerHistory = new EmployeesCareersHistoryBLL()
                {
                    EmployeeCareerHistoryID = AssigningVM.EmployeeCareerHistoryID
                };
                assigning.ExternalKSACity = new KSACitiesBLL()
                {
                    KSACityID = AssigningVM.ExternalKSACity.KSACityID
                };
                assigning.ExternalOrganization = AssigningVM.ExternalOrganization;
                assigning.AssigningReason      = new AssigningsReasonsBLL()
                {
                    AssigningReasonID = AssigningVM.AssigningReason.AssigningReasonID
                };
                assigning.LoginIdentity = new EmployeesCodesBLL()
                {
                    EmployeeCodeID = int.Parse(Session["EmployeeCodeID"].ToString())
                };
                assigning.AssigningReasonOther = AssigningVM.AssigningReasonOther;

                Result result = assigning.Update();
                if ((System.Type)result.EnumType == typeof(AssigningsValidationEnum))
                {
                    if (result.EnumMember == AssigningsValidationEnum.Done.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        Session["AssigningID"] = ((ExternalAssigningBLL)result.Entity).AssigningID;
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfActivePreviousAssigning.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        throw new CustomException(Resources.Globalization.MustEndPreviousAssigningText + "NewLine" + Resources.Globalization.LastAssigningStartDateText + assgining.AssigningStartDate.ToShortDateString());
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfConflictWithLenders.ToString())
                    {
                        LendersBLL Lender = ((LendersBLL)result.Entity);
                        throw new CustomException(string.Format(Resources.Globalization.ValidationConflictWithLenderText,
                                                                Lender.LenderStartDate.ToShortDateString(), Lender.LenderEndDate.ToShortDateString()));
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfEndDateIsLessThanCreationDate.ToString())
                    {
                        throw new CustomException(Resources.Globalization.ValidationBecauseOfEndDateIsLessThanCreationDateText);
                    }
                }
            }
            return(View(this.GetByAssigningID(AssigningVM.AssigningID)));
        }
예제 #2
0
        public ActionResult Create(AssigningsViewModel AssigningVM)
        {
            if (AssigningVM.AssigningType.AssigningTypeID == (Int32)AssigningsTypesEnum.Internal)
            {
                InternalAssigningBLL assigning = (InternalAssigningBLL)AssigingsFactory.CreateAssigning(AssigningsTypesEnum.Internal);
                assigning.AssigningType = new AssigningsTypesBLL()
                {
                    AssigningTypeID = (int)AssigningsTypesEnum.Internal
                };
                assigning.AssigningStartDate    = AssigningVM.AssginingStartDate.Value.Date;
                assigning.AssigningEndDate      = AssigningVM.AssginingEndDate.HasValue ? AssigningVM.AssginingEndDate.Value.Date : (DateTime?)null;
                assigning.EmployeeCareerHistory = new EmployeesCareersHistoryBLL().GetActiveByEmployeeCareerHistoryID(AssigningVM.EmployeeCareerHistoryID);
                assigning.Manager = AssigningVM.ManagerCodeID.HasValue ? new EmployeesCodesBLL()
                {
                    EmployeeCodeID = AssigningVM.ManagerCodeID.Value
                } : null;
                assigning.Job = new JobsBLL()
                {
                    JobID = AssigningVM.JobID.HasValue ? AssigningVM.JobID.Value : 0
                };
                if (AssigningVM.OrganizationID.HasValue)
                {
                    assigning.Organization = new OrganizationsStructuresBLL()
                    {
                        OrganizationID = AssigningVM.OrganizationID.Value
                    }
                }
                ;
                assigning.AssigningReason = new AssigningsReasonsBLL()
                {
                    AssigningReasonID = AssigningVM.AssigningReason.AssigningReasonID
                };
                assigning.AssigningReasonOther = AssigningVM.AssigningReasonOther;
                assigning.LoginIdentity        = this.UserIdentity;

                Result result = assigning.Add();
                if ((System.Type)result.EnumType == typeof(NoConflictWithOtherProcessValidationEnum))
                {
                    Classes.Helpers.CommonHelper.ConflictValidationMessage(result);
                }
                if ((System.Type)result.EnumType == typeof(AssigningsValidationEnum))
                {
                    if (result.EnumMember == AssigningsValidationEnum.Done.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        Session["AssigningID"] = ((InternalAssigningBLL)result.Entity).AssigningID;
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfActivePreviousAssigning.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        throw new CustomException(Resources.Globalization.MustEndPreviousAssigningText + "NewLine" + "تاريخ اخر تكليف : " + assgining.AssigningStartDate.ToShortDateString());
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfConflictWithLenders.ToString())
                    {
                        LendersBLL Lender = ((LendersBLL)result.Entity);
                        throw new CustomException(string.Format(Resources.Globalization.ValidationConflictWithLenderText,
                                                                Lender.LenderStartDate.ToShortDateString(), Lender.LenderEndDate.ToShortDateString()));
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfEndDateIsLessThanCreationDate.ToString())
                    {
                        throw new CustomException(Resources.Globalization.ValidationBecauseOfEndDateIsLessThanCreationDateText);
                    }
                }
            }
            else if (AssigningVM.AssigningType.AssigningTypeID == (Int32)AssigningsTypesEnum.External)
            {
                ExternalAssigningBLL assigning = (ExternalAssigningBLL)AssigingsFactory.CreateAssigning(AssigningsTypesEnum.External);
                assigning.AssigningType = new AssigningsTypesBLL()
                {
                    AssigningTypeID = (int)AssigningsTypesEnum.External
                };
                assigning.AssigningStartDate    = AssigningVM.AssginingStartDate.Value.Date;
                assigning.AssigningEndDate      = AssigningVM.AssginingEndDate.HasValue ? AssigningVM.AssginingEndDate.Value.Date : (DateTime?)null;
                assigning.EmployeeCareerHistory = new EmployeesCareersHistoryBLL().GetActiveByEmployeeCareerHistoryID(AssigningVM.EmployeeCareerHistoryID);
                assigning.ExternalKSACity       = new KSACitiesBLL()
                {
                    KSACityID = AssigningVM.ExternalKSACity.KSACityID
                };
                assigning.ExternalOrganization = AssigningVM.ExternalOrganization;
                assigning.AssigningReason      = new AssigningsReasonsBLL()
                {
                    AssigningReasonID = AssigningVM.AssigningReason.AssigningReasonID
                };
                assigning.AssigningReasonOther = AssigningVM.AssigningReasonOther;
                assigning.LoginIdentity        = this.UserIdentity;

                Result result = assigning.Add();
                if ((System.Type)result.EnumType == typeof(NoConflictWithOtherProcessValidationEnum))
                {
                    Classes.Helpers.CommonHelper.ConflictValidationMessage(result);
                }
                if ((System.Type)result.EnumType == typeof(AssigningsValidationEnum))
                {
                    if (result.EnumMember == AssigningsValidationEnum.Done.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        Session["AssigningID"] = ((ExternalAssigningBLL)result.Entity).AssigningID;
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfActivePreviousAssigning.ToString())
                    {
                        BaseAssigningsBLL assgining = (BaseAssigningsBLL)result.Entity;
                        throw new CustomException(Resources.Globalization.MustEndPreviousAssigningText + "NewLine" + "تاريخ اخر تكليف : " + assgining.AssigningStartDate.ToShortDateString());
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfConflictWithLenders.ToString())
                    {
                        LendersBLL Lender = ((LendersBLL)result.Entity);
                        throw new CustomException(string.Format(Resources.Globalization.ValidationConflictWithLenderText,
                                                                Lender.LenderStartDate.ToShortDateString(), Lender.LenderEndDate.ToShortDateString()));
                    }
                    else if (result.EnumMember == AssigningsValidationEnum.RejectedBecauseOfEndDateIsLessThanCreationDate.ToString())
                    {
                        throw new CustomException(Resources.Globalization.ValidationBecauseOfEndDateIsLessThanCreationDateText);
                    }
                }
            }

            return(View(AssigningVM));
        }