public IActionResult Get_CommissionsChf([FromBody] ChfGetCommissionInputs model) { if (!ModelState.IsValid) { var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; return(BadRequest(new { success = false, message = error })); } USSDGetCommissionInputs commision = new USSDGetCommissionInputs() { enrolment_officer_code = model.officer_code, insurance_product_code = model.product_code, mode = CommissionMode.Paid, year = model.year, month = model.month, payer = model.payer }; JsonResult resp = (JsonResult)base.Get_Commissions(commision); DataMessage message = (DataMessage)resp.Value; var commissionString = JsonConvert.SerializeObject(message.Data); var commissionAmount = JsonConvert.DeserializeObject <List <CommissionAmount> >(commissionString).FirstOrDefault(); var response = new GetCommissionResponse(message.Code, false, 0).Message; Language language = Language.Secondary; if (model.language == 2) { language = Language.Primary; } ImisSms sms = new ImisSms(_configuration, _hostingEnvironment, language); var txtmsgTemplate = sms.GetMessage("CommissionInformSms"); var txtmsg = string.Format(txtmsgTemplate, new DateTime(Convert.ToInt32(model.year), Convert.ToInt32(model.month), 1).ToString("MMMM", CultureInfo.CreateSpecificCulture("en")), model.year, commissionAmount.Amount ); sms.QuickSms(txtmsg, model.msisdn); if (!response.ErrorOccured) { return(Ok(new { success = true, message = response.MessageValue })); } else { return(BadRequest(new { success = false, message = response.MessageValue })); } }
public DataMessage GetCommissions(USSDGetCommissionInputs model) { var sSQL = @"SELECT ISNULL(SUM(ISNULL(R.CammissionRate, 0.00) * PR.Amount),0.00) AS Commission, ISNULL(SUM(ISNULL(PR.Amount,0.00)),0.00) AS Amount FROM tblPremium AS PR INNER JOIN tblPolicy AS P ON P.PolicyID = PR.PolicyID AND P.ValidityTo IS NULL INNER JOIN tblReporting AS R ON R.ReportingId = PR.ReportingCommissionID INNER JOIN tblOfficer O ON P.OfficerID = O.OfficerID WHERE (PR.ReportingCommissionID IS NOT NULL) AND (PR.PayDate BETWEEN @MinDate and @MaxDate) AND (PR.ValidityTo IS NULL) AND (O.Code = @EnrollmentOfficerCode)"; int year = DateTime.UtcNow.Year; int month = DateTime.UtcNow.Month; try { year = Convert.ToInt32(model.year); month = Convert.ToInt32(model.month); } catch (Exception) { throw; } DateTime minDate = new DateTime(year, month, 1); DateTime maxDate = new DateTime(year, month, DateTime.DaysInMonth(year, month)); DataHelper helper = new DataHelper(Configuration); SqlParameter[] sqlParameters = { new SqlParameter("@MaxDate", maxDate), new SqlParameter("@MinDate", minDate), new SqlParameter("@Mode", model.mode), new SqlParameter("@EnrollmentOfficerCode", (model.enrolment_officer_code != null)?model.enrolment_officer_code:(object)DBNull.Value), new SqlParameter("@Payer", (model.payer != null)? model.payer:(object)DBNull.Value), new SqlParameter("@ProductCode", (model.insurance_product_code != null)? model.insurance_product_code:(object)DBNull.Value) }; DataMessage message; try { var response = helper.GetDataTable(sSQL, sqlParameters, System.Data.CommandType.Text); message = new GetCommissionResponse(0, false, response, 0).Message; } catch (Exception e) { message = new GetCommissionResponse(e).Message; } return(message); }
public virtual IActionResult Get_Commissions([FromBody] USSDGetCommissionInputs model) { if (!ModelState.IsValid) { var error = ModelState.Values.FirstOrDefault().Errors.FirstOrDefault().ErrorMessage; return(BadRequest(new { error_occured = true, error_message = error })); } var identity = HttpContext.User.Identity as ClaimsIdentity; var iden = identity.FindFirst("UserId"); try { policies.UserId = Convert.ToInt32(iden.Value); } catch (Exception) { policies.UserId = -1; } var response = policies.GetCommissions(model); return(Json(response)); }