Example #1
0
        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);
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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"));
            }
        }
Example #4
0
        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"));
            }
        }
Example #5
0
        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);
        }