public IActionResult Create([FromBody] EnrollFamilyModel model) { int response; if (!ModelState.IsValid) { var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; return(BadRequest(new { error_occured = true, error_message = error })); } try { Guid userUUID = Guid.Parse(HttpContext.User.Claims.Where(w => w.Type == "UserUUID").Select(x => x.Value).FirstOrDefault()); int userId = _imisModules.GetInsureeModule().GetFamilyLogic().GetUserIdByUUID(userUUID); int officerId = _imisModules.GetInsureeModule().GetFamilyLogic().GetOfficerIdByUserUUID(userUUID); response = _imisModules.GetInsureeModule().GetFamilyLogic().Create(model, userId, officerId); } catch (ValidationException e) { return(BadRequest(new { error = new { message = e.Message, value = e.Value } })); } return(Ok(response)); }
public int Create(EnrollFamilyModel model, int userId, int officerId) { int response; response = familyRepository.Create(model, userId, officerId); return response; }
public int Create(EnrollFamilyModel model, int userId, int officerId) { try { var enrolFamily = model.GetEnrolmentFromModel(); enrolFamily.FileInfo.UserId = userId; enrolFamily.FileInfo.OfficerId = officerId; var XML = enrolFamily.XMLSerialize(); var JSON = JsonConvert.SerializeObject(enrolFamily); var EnrolmentDir = _configuration["AppSettings:Enrollment_Phone"] + Path.DirectorySeparatorChar; var JsonDebugFolder = _configuration["AppSettings:JsonDebugFolder"] + Path.DirectorySeparatorChar; var UpdatedFolder = _configuration["AppSettings:UpdatedFolder"] + Path.DirectorySeparatorChar; var SubmittedFolder = _configuration["AppSettings:SubmittedFolder"] + Path.DirectorySeparatorChar; var hof = enrolFamily.Families.Select(x => x.HOFCHFID).FirstOrDefault(); var FileName = string.Format("{0}_{1}_{2}.xml", hof, officerId.ToString(), DateTime.Now.ToString("dd-MM-yyyy HH-mm-ss")); var JsonFileName = string.Format("{0}_{1}_{2}.json", hof, officerId.ToString(), DateTime.Now.ToString("dd-MM-yyyy HH-mm-ss")); var xmldoc = new XmlDocument(); xmldoc.InnerXml = XML; try { if (!Directory.Exists(EnrolmentDir)) { Directory.CreateDirectory(EnrolmentDir); } xmldoc.Save(EnrolmentDir + FileName); if (!Directory.Exists(JsonDebugFolder)) { Directory.CreateDirectory(JsonDebugFolder); } File.WriteAllText(JsonDebugFolder + JsonFileName, JSON); } catch (Exception e) { throw e; } int RV = -99; int InsureeUpd; int InsureeImported; using (var imisContext = new ImisDB()) { var xmlParameter = new SqlParameter("@XML", XML) { DbType = DbType.Xml }; var returnParameter = OutputParameter.CreateOutputParameter("@RV", SqlDbType.Int); var familySentParameter = OutputParameter.CreateOutputParameter("@FamilySent", SqlDbType.Int); var familyImportedParameter = OutputParameter.CreateOutputParameter("@FamilyImported", SqlDbType.Int); var familiesUpdParameter = OutputParameter.CreateOutputParameter("@FamiliesUpd", SqlDbType.Int); var familyRejectedParameter = OutputParameter.CreateOutputParameter("@FamilyRejected", SqlDbType.Int); var insureeSentParameter = OutputParameter.CreateOutputParameter("@InsureeSent", SqlDbType.Int); var insureeUpdParameter = OutputParameter.CreateOutputParameter("@InsureeUpd", SqlDbType.Int); var insureeImportedParameter = OutputParameter.CreateOutputParameter("@InsureeImported", SqlDbType.Int); var policySentParameter = OutputParameter.CreateOutputParameter("@PolicySent", SqlDbType.Int); var policyImportedParameter = OutputParameter.CreateOutputParameter("@PolicyImported", SqlDbType.Int); var policyRejectedParameter = OutputParameter.CreateOutputParameter("@PolicyRejected", SqlDbType.Int); var policyChangedParameter = OutputParameter.CreateOutputParameter("@PolicyChanged", SqlDbType.Int); var premiumSentParameter = OutputParameter.CreateOutputParameter("@PremiumSent", SqlDbType.Int); var premiumImportedParameter = OutputParameter.CreateOutputParameter("@PremiumImported", SqlDbType.Int); var premiumRejectedParameter = OutputParameter.CreateOutputParameter("@PremiumRejected", SqlDbType.Int); var sql = "exec @RV = uspConsumeEnrollments @XML, @FamilySent OUT, @FamilyImported OUT, @FamiliesUpd OUT, @FamilyRejected OUT, " + "@InsureeSent OUT, @InsureeUpd OUT, @InsureeImported OUT, " + "@PolicySent OUT, @PolicyImported OUT, @PolicyRejected OUT, @PolicyChanged OUT," + "@PremiumSent OUT, @PremiumImported OUT, @PremiumRejected OUT"; DbConnection connection = imisContext.Database.GetDbConnection(); using (DbCommand cmd = connection.CreateCommand()) { cmd.CommandText = sql; cmd.Parameters.AddRange(new[] { xmlParameter, returnParameter, familySentParameter, familyImportedParameter, familiesUpdParameter, familyRejectedParameter, insureeSentParameter, insureeUpdParameter, insureeImportedParameter, policySentParameter, policyImportedParameter, policyRejectedParameter, policyChangedParameter, premiumSentParameter, premiumImportedParameter, premiumRejectedParameter }); if (connection.State.Equals(ConnectionState.Closed)) { connection.Open(); } using (var reader = cmd.ExecuteReader()) { // Displaying errors in the Stored Procedure in Debug mode //do //{ // while (reader.Read()) // { // Debug.WriteLine("Error/Warning: " + reader.GetValue(0)); // } //} while (reader.NextResult()); } } InsureeUpd = insureeUpdParameter.Value == DBNull.Value ? 0 : (int)insureeUpdParameter.Value; InsureeImported = insureeImportedParameter.Value == DBNull.Value ? 0 : (int)insureeImportedParameter.Value; RV = (int)returnParameter.Value; if (RV == 0 && (InsureeImported > 0 || InsureeUpd > 0)) { if (!Directory.Exists(UpdatedFolder)) { Directory.CreateDirectory(UpdatedFolder); } foreach (var picture in model.Family.Select(x => x.Insurees.Select(s => s.Picture)).FirstOrDefault().ToList()) { if (picture != null) { if (picture.ImageContent != null) { if (picture.ImageContent.Length != 0) { File.WriteAllBytes(UpdatedFolder + Path.DirectorySeparatorChar + picture.ImageName, Convert.FromBase64String(picture.ImageContent)); } } } } } } return(RV); } catch (SqlException e) { throw e; } catch (Exception e) { throw e; } }