public async Task <ResponseModel> UpdateCallsStatusDetails(CallStatusDetailsModel callStatusDetails) { List <SqlParameter> sp = new List <SqlParameter>(); SqlParameter param = new SqlParameter("@StatusId", ToDBNull(callStatusDetails.CStatus)); sp.Add(param); param = new SqlParameter("@RejectReasion", ToDBNull(callStatusDetails.RejectionReason)); sp.Add(param); param = new SqlParameter("@DeviceId", ToDBNull(callStatusDetails.DeviceId)); sp.Add(param); param = new SqlParameter("@USER", ToDBNull(callStatusDetails.UserId)); sp.Add(param); param = new SqlParameter("@Type", ToDBNull(callStatusDetails.Type)); sp.Add(param); param = new SqlParameter("@CompId", ToDBNull(callStatusDetails.CompanyId)); sp.Add(param); param = new SqlParameter("@InvoiceFileName", ToDBNull(callStatusDetails.InvoiceFileName)); sp.Add(param); param = new SqlParameter("@JobSheetFileName", ToDBNull(callStatusDetails.JobSheetFileName)); sp.Add(param); var sql = "UpdateCallStatusDetails @StatusId,@RejectReasion,@DeviceId,@USER,@Type,@CompId,@InvoiceFileName,@JobSheetFileName"; var res = await _context.Database.SqlQuery <ResponseModel>(sql, sp.ToArray()).SingleOrDefaultAsync(); if (res.ResponseCode == 0) { res.IsSuccess = true; } else { res.IsSuccess = false; } return(res); }
public async Task <ActionResult> CallStatusDetails(CallStatusDetailsModel callStatusDetails) { try { callStatusDetails.JobSheetFile = Request.Files["JobSheetFile"]; callStatusDetails.InvoiceFile = Request.Files["InvoiceFile"]; callStatusDetails.UserId = CurrentUser.UserId; string directory = "~/TempFiles/"; string path = Server.MapPath(directory + callStatusDetails.DeviceId); if (callStatusDetails.InvoiceFile != null || callStatusDetails.JobSheetFile != null || callStatusDetails.InvoiceFile != null) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } } if (callStatusDetails.InvoiceFile != null) { callStatusDetails.InvoiceFileName = "DevicePic" + Path.GetExtension(Path.Combine(directory, callStatusDetails.InvoiceFile.FileName)); if (System.IO.File.Exists(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.InvoiceFileName)) { System.IO.File.Delete(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.InvoiceFileName); } if (callStatusDetails.InvoiceFile != null && callStatusDetails.InvoiceFile.ContentLength > 0) { callStatusDetails.InvoiceFile.SaveAs(path + "/" + callStatusDetails.InvoiceFileName); } } if (callStatusDetails.JobSheetFile != null) { callStatusDetails.JobSheetFileName = "JobSheet" + Path.GetExtension(Path.Combine(directory, callStatusDetails.JobSheetFile.FileName)); if (System.IO.File.Exists(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.JobSheetFileName)) { System.IO.File.Delete(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.JobSheetFileName); } if (callStatusDetails.JobSheetFile != null && callStatusDetails.JobSheetFile.ContentLength > 0) { callStatusDetails.InvoiceFile.SaveAs(path + "/" + callStatusDetails.JobSheetFileName); } } callStatusDetails.CompanyId = CurrentUser.CompanyId; var response = await _centerRepo.UpdateCallsStatusDetails(callStatusDetails); TempData["response"] = response; return(Json("Ok", JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var response = new ResponseModel { Response = ex.Message, IsSuccess = false }; TempData["response"] = response; TempData.Keep("response"); return(Json("ex", JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> ManageServiceProvidersDetails(CallStatusDetailsModel callStatusDetails) { try { callStatusDetails.UserId = CurrentUser.UserId; var response = await _centerRepo.UpdateCallsStatusDetails(callStatusDetails); TempData["response"] = response; return(RedirectToAction("AcceptCalls")); } catch (Exception ex) { var response = new ResponseModel { Response = ex.Message, IsSuccess = false }; TempData["response"] = response; return(RedirectToAction("AcceptCalls")); } }
public async Task <ActionResult> UpdateCall(CallStatusDetailsModel callStatusDetails) { if (callStatusDetails.AppointmentDate == null && callStatusDetails.Param == null) { var call = Request.Params["CallDetail"]; callStatusDetails = JsonConvert.DeserializeObject <CallStatusDetailsModel>(call); callStatusDetails.InvoiceFile = Request.Files["InvoiceFile"]; callStatusDetails.JobSheetFile = Request.Files["JobSheetFile"]; callStatusDetails.Type = "A"; string directory = "~/TempFiles/"; string path = Server.MapPath(directory + callStatusDetails.DeviceId); if (callStatusDetails.InvoiceFile != null || callStatusDetails.JobSheetFile != null || callStatusDetails.InvoiceFile != null) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } } foreach (var part in callStatusDetails.Parts) { part.PartFile = Request.Files[part.PartNo]; if (part.PartFile != null) { if (part.PartId != null) { part.Action = 'I'; } part.FileName = part.PartNo + Path.GetExtension(Path.Combine(directory, part.PartFile.FileName)); if (System.IO.File.Exists(path + "/" + part.FileName)) { System.IO.File.Delete(path + "/" + part.FileName); } part.PartFile.SaveAs(path + "/" + part.FileName); part.PartFile = null; } } if (callStatusDetails.InvoiceFile != null) { callStatusDetails.InvoiceFileName = "DevicePic" + Path.GetExtension(Path.Combine(directory, callStatusDetails.InvoiceFile.FileName)); if (System.IO.File.Exists(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.InvoiceFileName)) { System.IO.File.Delete(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.InvoiceFileName); } if (callStatusDetails.InvoiceFile != null && callStatusDetails.InvoiceFile.ContentLength > 0) { callStatusDetails.InvoiceFile.SaveAs(path + "/" + callStatusDetails.InvoiceFileName); } } if (callStatusDetails.JobSheetFile != null) { callStatusDetails.JobSheetFileName = "JobSheet" + Path.GetExtension(Path.Combine(directory, callStatusDetails.JobSheetFile.FileName)); if (System.IO.File.Exists(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.JobSheetFileName)) { System.IO.File.Delete(directory + callStatusDetails.DeviceId + "/" + callStatusDetails.JobSheetFileName); } if (callStatusDetails.JobSheetFile != null && callStatusDetails.JobSheetFile.ContentLength > 0) { callStatusDetails.InvoiceFile.SaveAs(path + "/" + callStatusDetails.JobSheetFileName); } } } if (callStatusDetails.Param == "A") { callStatusDetails.Type = "A"; callStatusDetails.IsServiceApproved = null; } else { callStatusDetails.Type = "C"; } if (callStatusDetails.Param == "AP") { callStatusDetails.Type = "AP"; callStatusDetails.AppointmentStatus = callStatusDetails.CStatus; } if (callStatusDetails.Param == "CL") { callStatusDetails.Type = "CL"; callStatusDetails.AppointmentStatus = 12; } callStatusDetails.UserId = CurrentUser.UserId; var response = await _centerRepo.UpdateCallCenterCall(callStatusDetails); //if (response.IsSuccess) //{ // var Templates = await _templateRepo.GetTemplateByActionId((int)EmailActions.ALLOCATE_TO_ENGINEER, CurrentUser.CompanyId); // var WildCards = CommonModel.GetWildCards(CurrentUser.CompanyId); // var U = WildCards.Where(x => x.Text.ToUpper() == "NAME").FirstOrDefault(); // U.Val = callStatusDetails.; // U = WildCards.Where(x => x.Text.ToUpper() == "CALL ID").FirstOrDefault(); // U.Val = response.result; // U = WildCards.Where(x => x.Text.ToUpper() == "CUSTOMER SUPPORT NUMBER").FirstOrDefault(); // U.Val = CurrentUser.CustomerCareNumber; // U = WildCards.Where(x => x.Text.ToUpper() == "CUSTOMER SUPPORT EMAIL").FirstOrDefault(); // U.Val = CurrentUser.ContactCareEmail; // CurrentUser.Mobile = callStatusDetails.CustomerContactNumber; // var c = WildCards.Where(x => x.Val != string.Empty).ToList(); // if (Templates.Count > 0) // await _emailSmsServices.Send(Templates, c, CurrentUser); //} TempData["response"] = response; if (callStatusDetails.Type == "C") { return(RedirectToAction("index", "PendingCalls")); } else if (callStatusDetails.Type == "A") { if (CurrentUser.UserTypeName.ToLower().Contains("company")) { return(RedirectToAction("Opencalls", "ServiceCenter")); } else { return(RedirectToAction("AcceptCalls", "ServiceCenter")); } } else { return(RedirectToAction("EscalateCalls", "PendingCalls")); } }
public async Task <ResponseModel> UpdateCallCenterCall(CallStatusDetailsModel callStatusDetails) { string xml = ""; if (callStatusDetails.Parts != null) { XmlSerializer parts = new XmlSerializer(callStatusDetails.Parts.GetType()); using (var sww = new StringWriter()) { using (XmlWriter writer = XmlWriter.Create(sww)) { parts.Serialize(writer, callStatusDetails.Parts); xml = sww.ToString(); } } xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", ""); } List <SqlParameter> sp = new List <SqlParameter>(); SqlParameter param = new SqlParameter("@DeviceId", ToDBNull(callStatusDetails.DeviceId)); sp.Add(param); param = new SqlParameter("@EMPId", ToDBNull(callStatusDetails.EmpId)); sp.Add(param); param = new SqlParameter("@ProviderId", ToDBNull(callStatusDetails.ProviderId)); sp.Add(param); param = new SqlParameter("@CenterId", ToDBNull(callStatusDetails.CenterId)); sp.Add(param); param = new SqlParameter("@USER", ToDBNull(callStatusDetails.UserId)); sp.Add(param); param = new SqlParameter("@StatusId", ToDBNull(callStatusDetails.AppointmentStatus)); sp.Add(param); param = new SqlParameter("@AppointmentDate", ToDBNull(callStatusDetails.AppointmentDate)); sp.Add(param); param = new SqlParameter("@Remarks", ToDBNull(callStatusDetails.Remarks)); sp.Add(param); param = new SqlParameter("@Type", ToDBNull(callStatusDetails.Type)); sp.Add(param); param = new SqlParameter("@parts", ToDBNull(xml)); sp.Add(param); param = new SqlParameter("@InvoiceFile", ToDBNull(callStatusDetails.InvoiceFileName)); sp.Add(param); param = new SqlParameter("@JobsheetFileName", ToDBNull(callStatusDetails.JobSheetFileName)); sp.Add(param); param = new SqlParameter("@ProblemObserved", ToDBNull(callStatusDetails.ProblemObserved)); sp.Add(param); param = new SqlParameter("@ServiceCharges", ToDBNull(callStatusDetails.ServiceCharges)); sp.Add(param); param = new SqlParameter("@PartCharges", ToDBNull(callStatusDetails.PartCharges)); sp.Add(param); param = new SqlParameter("@EngName", ToDBNull(callStatusDetails.TechnicianName)); sp.Add(param); param = new SqlParameter("@EngContactNumber", ToDBNull(callStatusDetails.TechnicianContactNumber)); sp.Add(param); param = new SqlParameter("@CancelReason", ToDBNull(callStatusDetails.RejectionReason)); sp.Add(param); param = new SqlParameter("@IsServiceApproval", ToDBNull(callStatusDetails.IsServiceApproved)); sp.Add(param); var sql = "UPDATECenterAndUnAssingedCall @DEVICEID,@EMPId,@ProviderId,@CenterId,@USER,@StatusId, @AppointmentDate,@Remarks,@Type,@parts,@InvoiceFile,@JobsheetFileName,@ProblemObserved,@ServiceCharges,@PartCharges,@EngName,@EngContactNumber,@CancelReason,@IsServiceApproval"; var res = await _context.Database.SqlQuery <ResponseModel>(sql, sp.ToArray()).SingleOrDefaultAsync(); if (res.ResponseCode == 1) { res.IsSuccess = true; } else { res.IsSuccess = false; } return(res); }