Esempio n. 1
0
        public Response AddNewCase(NewCase Case)
        {
            try
            {
                var faultCourtServiceClients = GetFaultCourtService(Case.Court_ID);
                if (faultCourtServiceClients != null && faultCourtServiceClients.Count > 0)
                {
                    return(faultCourtServiceClients.First().AddNewCase(Case));
                }

                return(new Response
                {
                    ErrorCodes = new List <int> {
                        ErrorCode.CourtIDNotRegistered
                    }
                });
            }
            catch (Exception ex)
            {
                logger.LogException(ex);
                return(new Response
                {
                    ErrorCodes = new List <int> {
                        ErrorCode.Failed
                    }
                });
            }
        }
        /// <summary>
        /// Hàm thêm method NewCase vào methods
        /// </summary>
        /// <param name="_caseId">0 - Up all, 1 - Low all, 2 - Up first</param>
        public void addNewCase(int _caseId)
        {
            string _setting = "New Case - ";

            switch (_caseId)
            {
            case 0:
            {
                _setting += "Upper Case all characters";
                break;
            }

            case 1:
            {
                _setting += "Lower Case all characters";
                break;
            }

            case 2:
            {
                _setting += "Upper Case the first characters of the words";
                break;
            }
            }
            var newMethod = new NewCase()
            {
                CaseId      = _caseId,
                Setting     = _setting,
                HashSetting = $"NewCase{seperator}{_caseId}"
            };

            methods.Add(newMethod);
        }
            public static string NewCase(string preName, NewCase nc)
            {
                var _newName = "";
                var _caseId  = nc.CaseId;

                switch (_caseId)
                {
                case 0:
                {
                    _newName = preName.ToUpper();
                    break;
                }

                case 1:
                {
                    _newName = preName.ToLower();
                    break;
                }

                case 2:
                {
                    char[] a = preName.ToLower().ToCharArray();

                    for (int i = 0; i < a.Count(); i++)
                    {
                        a[i] = i == 0 || a[i - 1] == ' ' ? char.ToUpper(a[i]) : a[i];
                    }
                    _newName = new string(a);
                    break;
                }
                }
                return(_newName);
            }
        public void AddCase(object arg)
        {
            NewCase newCaseDialog = new NewCase()
            {
                DataContext = this
            };

            if (newCaseDialog.ShowDialog() == true)
            {
                Cases.Add(new CaseViewModel()
                {
                    Client    = newCaseDialog.NClient.getMyClient(),
                    Manager   = newCaseDialog.NManager.getMyManager(),
                    VisaType  = newCaseDialog.NVisaType,
                    Status    = Status.InProgress,
                    StartDate = DateTime.Now
                });
            }
        }
        /// <summary>
        /// Add new Case to System
        /// and reserve a date for it
        /// </summary>
        /// <param name="Case">All Case MetaData</param>
        /// <returns>Response if Saved or Not with error codes</returns>
        public Response AddNewCase(NewCase Case)
        {
            try
            {
                //Validate Pros Data
                //This will Be our big player
                //if any thing passes this validation
                //Data could be wrong
                if (!caseValidator.CValidate(Case, out List <int> ErrorCodes))
                {
                    return(ReturnErrorResponse(ErrorCodes));
                }
                using (var Transaction = databaseRepository.BeginTransaction())
                {
                    //Save Basic Data First
                    Base.Views.vw_FaultCaseBasicData caseBasicData = Case.MapToBasicData();
                    var caseSaveStatus = caseService.AddBasicData(caseBasicData);
                    if (caseSaveStatus != CaseSaveStatus.Saved)
                    {
                        return(ReturnErrorResponse(caseSaveStatus));
                    }

                    if (!prosecutionCaseService.LinkProsCase(Case.Business_Case_Id, caseBasicData.CaseID))
                    {
                        return(Response.Failed);
                    }

                    //Save Case Description
                    if (!caseService.AddCaseDescription(Case.MapCaseDescription(caseBasicData.CaseID)))
                    {
                        return(Response.Failed);
                    }

                    //Save First Session Date
                    long SessionID = GetSessionID(Case.First_Session);
                    if (!CaseConfiguration.AddCaseConfiguration(Case.MapCaseSessionConfiguration(SessionID, caseBasicData.CaseID)))
                    {
                        return(Response.Failed);
                    }

                    //Todo Save CaseParty Data
                    foreach (var CaseParty in Case.CaseParties)
                    {
                        //this will check if the nationalityExist or not and if not create it
                        CaseParty.NationalityID = lookupService.GetNationalityIDOrCreate(CaseParty.Nationality);
                        var PersonSaveStatus = personService.AddPerson(CaseParty.MapPersonData(), out long PersonID);
                        if (PersonSaveStatus != PersonStatus.SuccefullSave)
                        {
                            return(ReturnErrorResponse(PersonSaveStatus));
                        }

                        SaveDefectsStatus caseDefectSaveStatus = this.defectsService.AddCaseDefect(CaseParty.MapCaseDefectData(caseBasicData.CaseID, PersonID));
                        if (caseDefectSaveStatus != SaveDefectsStatus.Saved)
                        {
                            return(ReturnErrorResponse(caseDefectSaveStatus));
                        }

                        var Defects = defectsService.GetDefectsByCaseID(caseBasicData.CaseID)
                                      .Where(caseDefect => caseDefect.PersonID == PersonID);

                        foreach (var caseDefect in Defects)
                        {
                            if (!prosecutionCaseService.LinkProsCaseParty(CaseParty.ID, caseDefect.ID, caseDefect.DefectType))
                            {
                                return(Response.Failed);
                            }
                        }
                    }
                    //Todo Save Attachments
                    if (Transaction != null)
                    {
                        Transaction.Commit();
                    }
                    return(Response.Success);
                }
            }
            catch (Exception ex)
            {
                logger.LogException(ex);
                return(Response.Failed);
            }
        }