Пример #1
0
        public ActionResult scallMobileSaveComplaint(mobileComplaintInputs complaintResponse)
        {
            try
            {
                if (complaintResponse != null)
                {
                    string refNumber = complaintResponse.Category_Id;
                    var    complants = gc.db.SCL_Mobile_Complaints.OrderByDescending(x => x.ID).FirstOrDefault();
                    if (complants != null)
                    {
                        refNumber = refNumber + (complants.ID + 1);
                    }
                    else
                    {
                        refNumber = refNumber + "000";
                    }

                    var dt = DateTime.Now;

                    SCL_Mobile_Complaints complaint = new SCL_Mobile_Complaints
                    {
                        Complaint_ReferenceNo = refNumber,
                        Complaint_Date        = dt.ToString(),
                        CreatedDate           = dt,
                        ComplaintStatus       = "Received",
                        CreatedBy             = complaintResponse.loggedId.ToString(),
                        Comments         = complaintResponse.comments,
                        Dept_Id          = complaintResponse.Dept_Id,
                        Dept_Desc        = complaintResponse.Dept_Desc,
                        Category_Id      = complaintResponse.Category_Id,
                        Category_Desc    = complaintResponse.Category_Desc,
                        SubCategory_Id   = complaintResponse.SubCategory_Id,
                        SubCategory_Desc = complaintResponse.SubCategory_Desc,
                        Lattitude        = complaintResponse.Lattitude,
                        Longitude        = complaintResponse.Longitude,
                        Address          = complaintResponse.Address,
                        CompanyID        = complaintResponse.companyId,
                        AllocateduserID  = complaintResponse.loggedId,
                        FileName         = refNumber + '_' + complaintResponse.companyId + '_' + complaintResponse.loggedId + ".jpg"
                    };


                    gc.db.SCL_Mobile_Complaints.Add(complaint);
                    if (gc.db.SaveChanges() > 0)
                    {
                        string filename = refNumber + '_' + complaintResponse.companyId + '_' + complaintResponse.loggedId + ".jpg";
                        //
                        if (!string.IsNullOrEmpty(complaintResponse.img_data))
                        {
                            bool imge = SaveImage(complaintResponse.img_data, filename);

                            SCL_ComplaintImages img = new SCL_ComplaintImages();

                            img.AttachmentName        = filename;
                            img.Complaint_ID          = complaint.ID;
                            img.Complaint_ReferenceNo = refNumber;
                            img.Device = "mobile";
                            gc.db.SCL_ComplaintImages.Add(img);
                            gc.db.SaveChanges();
                        }



                        var res = new MobileAppResponse <string>()
                        {
                            message    = "Saved",
                            statusCode = 200
                        };

                        return(Json(res, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new MobileAppResponse <string>()
                        {
                            message = "Not saved",
                            statusCode = 400,
                        }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    return(Json(new MobileAppResponse <string>()
                    {
                        message = "bad request",
                        statusCode = 400,
                    }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(Json(new MobileAppResponse <string>()
                {
                    message = ex.Message,
                    statusCode = 500,
                }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult SaveComplaint()
        {
            int LoginUserCompanyID = Convert.ToInt32(HttpContext.Session["cid_SCL_account"].ToString());

            var    FormData = Request.Form["FormData"];
            var    ComplaintMasterResponse = JsonConvert.DeserializeObject <SCL_Mobile_Complaints>(FormData);
            var    files     = Request.Files;
            var    Browser   = Request.Browser.Browser.ToUpper();
            string file_Name = "";
            string fileName  = "";

            Dictionary <string, object> dct = new Dictionary <string, object>();

            using (var db = new scallEntities())
            {
                try
                {
                    string siteURL   = WebConfigurationManager.AppSettings["imagePathURL"];
                    string refNumber = ComplaintMasterResponse.Category_Id;
                    var    complants = db.SCL_Mobile_Complaints.OrderByDescending(x => x.ID).FirstOrDefault();
                    if (complants != null)
                    {
                        refNumber = refNumber + (complants.ID + 1);
                    }
                    else
                    {
                        refNumber = refNumber + "000";
                    }
                    var date    = DateTime.Now;
                    var Depts   = db.SCL_Department.Where(x => x.DEPARTMENT_ID == ComplaintMasterResponse.Dept_Id).FirstOrDefault();
                    var cats    = db.SCL_Category.Where(x => x.CATEGORY_ID == ComplaintMasterResponse.Category_Id).FirstOrDefault();
                    var subCats = db.SCL_Sub_Category.Where(x => x.SUB_CATEGORY_ID == ComplaintMasterResponse.SubCategory_Id).FirstOrDefault();
                    ComplaintMasterResponse.Dept_Desc             = Depts != null?Depts.DEPARTMENT_DESC:"";
                    ComplaintMasterResponse.Category_Desc         = cats != null? cats.CATEGORY_DESC:"";
                    ComplaintMasterResponse.SubCategory_Desc      = subCats != null ? subCats.SUB_CATEGORY_DESC:"";
                    ComplaintMasterResponse.Complaint_ReferenceNo = refNumber;
                    ComplaintMasterResponse.Complaint_Date        = date.ToString();
                    ComplaintMasterResponse.CreatedDate           = DateTime.Now;
                    ComplaintMasterResponse.ComplaintStatus       = "Received";
                    ComplaintMasterResponse.CompanyID             = LoginUserCompanyID;

                    db.SCL_Mobile_Complaints.Add(ComplaintMasterResponse);
                    int n = db.SaveChanges();


                    if (n > 0)
                    {
                        dct.Add("success", true);
                        if (files.Count > 0)
                        {  //  Get all files from Request object
                            for (int i = 0; i < files.Count; i++)
                            {
                                HttpPostedFileBase file = files[i];

                                if (Browser == "IE" || Browser == "INTERNETEXPLORER")
                                {
                                    string[] testfiles = file.FileName.Split(new char[] { '\\' });
                                    fileName = testfiles[testfiles.Length - 1];
                                }
                                else
                                {
                                    fileName = file.FileName;
                                }

                                fileName  = file.FileName;
                                file_Name = string.Format("{0}-{1}", DateTime.Now.ToString("ddMMMyyyyHHmmss"), fileName.Replace("-", ""));
                                fileName  = Path.Combine(HttpContext.Server.MapPath("~/Attachments/"), file_Name);
                                file.SaveAs(fileName);

                                SCL_ComplaintImages img = new SCL_ComplaintImages();
                                //img.AttachmentName = string.Format("{0}/{1}", siteURL, fileName);
                                img.AttachmentName        = file_Name;
                                img.Complaint_ID          = ComplaintMasterResponse.ID;
                                img.Complaint_ReferenceNo = ComplaintMasterResponse.Complaint_ReferenceNo;
                                db.SCL_ComplaintImages.Add(img);
                                db.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        dct.Add("success", false);
                    }
                }
                catch (Exception ex)
                {
                    dct.Add("isError", true);
                    dct.Add("exception", ex.Message);
                }
            }

            return(Json(dct, JsonRequestBehavior.AllowGet));
        }