public RSmartTicketService()
 {
     _scaleLib           = new ScaleLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
     _scaleDetailLib     = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
     _scaleAttachmentLib = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
     _leadLogLib         = new LeadLogLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
 }
示例#2
0
 public JsonResult _SavePartyLicenceID(string scaleId, string licenseImageRefId)
 {
     try {
         bool result = false;
         if (!string.IsNullOrEmpty(licenseImageRefId))
         {
             ScaleAttachmentsLibrary scaleAttOps     = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
             ScaleAttachments        scaleAttachment = scaleAttOps.GetScaleAttachmentByRefId(new Guid(licenseImageRefId));
             if (scaleAttachment != null)
             {
                 FilelHelper fileHelper = new FilelHelper();
                 string      imagePath  = fileHelper.GetFilePathByFileRefId(licenseImageRefId);
                 byte[]      imageBytes = fileHelper.GetBytesFromFile(imagePath);
                 SaveScaleIDCardAttachment(Convert.ToInt32(scaleId), imageBytes);
                 result = true;
             }
         }
         var data = new { Success = result };
         return(Json(data, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex) {
         string message = ex.Message;
         Common.MessageLogger.Instance.LogMessage(ex, ex.Message, Common.Priority.High, 0, System.Diagnostics.TraceEventType.Critical, "Scanner Error", "Scanner");
         throw ex;
     }
 }
示例#3
0
        protected override void DeleteChildEntities(string[] childEntityList, string parentID)
        {
            foreach (string ChildEntity in childEntityList)
            {
                switch (ChildEntity)
                {
                    #region /* Case Statements - All child grids */

                case "ScaleDetails":
                    if (Convert.ToInt32(parentID) > 0)
                    {
                        ScaleDetailsLibrary        ScaleDetailsLibrary = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleDetails> resultList          = ScaleDetailsLibrary.GetAllByParentID(Convert.ToInt32(parentID));
                        foreach (ScaleDetails scaleDetails in resultList)
                        {
                            ScaleDetailsLibrary.Delete(scaleDetails.ID.ToString());
                        }
                    }
                    break;

                case "ScaleNotes":
                    if (Convert.ToInt32(parentID) > 0)
                    {
                        ScaleNotesLibrary        ScaleNotesLibrary = new ScaleNotesLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleNotes> resultList        = ScaleNotesLibrary.GetAllByParentID(Convert.ToInt32(parentID));
                        foreach (ScaleNotes ScaleNote in resultList)
                        {
                            ScaleNotesLibrary.Delete(ScaleNote.ID.ToString());
                        }
                    }
                    break;

                case "ScaleAttachments":
                    if (Convert.ToInt32(parentID) > 0)
                    {
                        ScaleAttachmentsLibrary        ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleAttachments> resultList   = ScaleLibrary.GetAllByParentID(Convert.ToInt32(parentID));

                        foreach (ScaleAttachments scaleAttachment in resultList)
                        {
                            ScaleLibrary.Delete(scaleAttachment.ID.ToString());
                        }
                    }
                    break;
                    //case "ScaleIDCardAttachments":
                    //  if (Convert.ToInt32(parentID) > 0) {
                    //    ScaleIDCardAttachmentsLibrary ScaleLibrary = new ScaleIDCardAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                    //    IEnumerable<ScaleIDCardAttachments> resultList = ScaleLibrary.GetAllByParentID(Convert.ToInt32(parentID));

                    //    foreach (ScaleIDCardAttachments scaleAttachment in resultList) {

                    //      ScaleLibrary.Delete(scaleAttachment.ID.ToString());
                    //    }
                    //  }
                    //break;
                    #endregion
                }
            }
        }
示例#4
0
        public Guid SaveScaleIDCardAttachment(int Id, byte[] data)
        {
            Guid guid = SaveFile(data);

            ScaleAttachments attachments = new ScaleAttachments();

            attachments.Document_Name  = "LicenceID-Image.jpeg";
            attachments.Document_RefId = guid;
            attachments.Document_Size  = data.LongLength;
            attachments.Document_Title = "LicenceID-Image";
            attachments.Document_Type  = "jpeg";

            attachments.Updated_By        = User.Identity.Name;
            attachments.Created_By        = User.Identity.Name;
            attachments.Created_Date      = DateTime.Now;
            attachments.Last_Updated_Date = DateTime.Now;

            attachments.Parent = new Scale {
                ID = Id
            };

            string destinationPath;
            string sourcePath;

            FilelHelper fileHelper = new FilelHelper();

            destinationPath = fileHelper.GetSourceDirByFileRefId(attachments.Document_RefId.ToString());     // Path.Combine(Configuration.GetsmARTDocPath(), Scale.Document_RefId.ToString());
            sourcePath      = fileHelper.GetTempSourceDirByFileRefId(attachments.Document_RefId.ToString()); // Path.Combine(Configuration.GetsmARTTempDocPath(), Scale.Document_RefId.ToString());

            attachments.Document_Path = fileHelper.GetFilePath(sourcePath);

            if (Id > 0)
            {
                fileHelper.MoveFile(attachments.Document_Name, sourcePath, destinationPath);
                ScaleAttachmentsLibrary ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                ScaleLibrary.Add(attachments);
            }
            else
            {
                if (Session["ScaleAttachments"] == null)
                {
                    Session["ScaleAttachments"] = new List <ScaleAttachments>();
                }
                IList <ScaleAttachments> iList = (IList <ScaleAttachments>)Session["ScaleAttachments"];
                iList.Add(attachments);
            }
            return(guid);
        }
示例#5
0
        private void SaveAttachment(int Id, byte[] data, string fileName, EnumAttachmentRefType refType, FileFormat fileFormat)
        {
            Guid guid = SaveFile(data, fileName);

            ScaleAttachments attachments = new ScaleAttachments();

            attachments.Document_Name  = fileName;// "Thumb-Image.jpeg";
            attachments.Document_RefId = guid;
            attachments.Document_Size  = data.LongLength;
            attachments.Document_Title = fileName;
            attachments.Document_Type  = fileFormat.ToString();
            attachments.Ref_Type       = (int)refType;

            attachments.Updated_By        = User.Identity.Name;
            attachments.Created_By        = User.Identity.Name;
            attachments.Created_Date      = DateTime.Now;
            attachments.Last_Updated_Date = DateTime.Now;
            attachments.Parent            = new Scale {
                ID = Id
            };

            string destinationPath;
            string sourcePath;

            FilelHelper fileHelper = new FilelHelper();

            destinationPath = fileHelper.GetSourceDirByFileRefId(attachments.Document_RefId.ToString());     // Path.Combine(Configuration.GetsmARTDocPath(), Scale.Document_RefId.ToString());
            sourcePath      = fileHelper.GetTempSourceDirByFileRefId(attachments.Document_RefId.ToString()); // Path.Combine(Configuration.GetsmARTTempDocPath(), Scale.Document_RefId.ToString());

            attachments.Document_Path = fileHelper.GetFilePath(sourcePath);

            if (Id > 0)
            {
                fileHelper.MoveFile(attachments.Document_Name, sourcePath, destinationPath);
                ScaleAttachmentsLibrary ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                attachments.Document_Name = fileName;
                ScaleAttachments scaleAttachment = ScaleLibrary.Add(attachments);
            }
            else
            {
                if (Session["ScaleAttachments"] == null)
                {
                    Session["ScaleAttachments"] = new List <ScaleAttachments>();
                }
                IList <ScaleAttachments> iList = (IList <ScaleAttachments>)Session["ScaleAttachments"];
                iList.Add(attachments);
            }
        }
示例#6
0
        //private void AddNewMakeAndModel(Scale entity)
        //{
        //    LOVLibrary lib = new LOVLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
        //    if (!string.IsNullOrEmpty(entity.Make))
        //    {
        //        // Make does not exists in database.
        //        LOV makeLOV = lib.GetByValue(entity.Make);
        //        if (makeLOV == null)
        //        {
        //            LOVTypeLibrary libType = new LOVTypeLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
        //            LOVType modelLOVType = libType.GetByLOVType("Make");
        //            makeLOV = new LOV()
        //            {
        //                Active_Ind = true,
        //                LOV_Active = true,
        //                Parent_Type_ID = modelLOVType.ID,
        //                LOV_Value = entity.Make,
        //                LOV_Display_Value = entity.Make,
        //                LOVType = modelLOVType,
        //                Parent = new LOV()
        //            };
        //            lib.Add(makeLOV);
        //        }
        //    }

        //    if (!string.IsNullOrEmpty(entity.Model) && !string.IsNullOrEmpty(entity.Make))
        //    {
        //        // Model does not exists in database.
        //        LOV modelLOV = lib.GetByValueAndParent(entity.Model, entity.Make);
        //        if (modelLOV == null)
        //        {
        //            LOVTypeLibrary libType = new LOVTypeLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
        //            LOVType modelLOVType = libType.GetByLOVType("Model");
        //            LOV parentModelLOV = lib.GetByValue(entity.Make);
        //            modelLOV = new LOV()
        //            {
        //                Active_Ind = true,
        //                LOV_Active = true,
        //                Parent_Type_ID = modelLOVType.ID,
        //                LOV_Value = entity.Model,
        //                LOV_Display_Value = entity.Model,
        //                LOVType = modelLOVType,
        //                Parent = parentModelLOV
        //            };
        //            lib.Add(modelLOV);
        //        }
        //    }
        //}

        public bool GetCustomerImageRefIds(int scaleId, out string thumbImage1, out string thumbImage2, out string photo, out string signatureImage, out string licenseImage, out string vehicleImageRefId, out string cashCardImageRefId)
        {
            thumbImage1 = thumbImage2 = photo = signatureImage = licenseImage = vehicleImageRefId = cashCardImageRefId = string.Empty;
            ScaleAttachments thumb1Attach        = null;
            ScaleAttachments thumb2Attach        = null;
            ScaleAttachments photoAttach         = null;
            ScaleAttachments signatureAttach     = null;
            ScaleAttachments dlLicenseAttach     = null;
            ScaleAttachments vehicleImageAttach  = null;
            ScaleAttachments cashCardImageAttach = null;

            if (scaleId > 0)
            {
                ScaleAttachmentsLibrary lib = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                thumb1Attach        = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.Thumbprint1, scaleId).FirstOrDefault();
                thumb2Attach        = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.Thumbprint2, scaleId).FirstOrDefault();
                photoAttach         = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.Customer, scaleId).FirstOrDefault();
                signatureAttach     = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.Signature, scaleId).FirstOrDefault();
                dlLicenseAttach     = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.DriverLicense, scaleId).FirstOrDefault();
                vehicleImageAttach  = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.Vehicle, scaleId).FirstOrDefault();
                cashCardImageAttach = lib.GetAttachmentsByRefTypeAndParentId(EnumAttachmentRefType.CashCard, scaleId).FirstOrDefault();
            }
            else
            {
                if (Session["ScaleAttachments"] != null)
                {
                    IEnumerable <ScaleAttachments> resultList = (IList <ScaleAttachments>)Session["ScaleAttachments"];
                    thumb1Attach        = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.Thumbprint1);
                    thumb2Attach        = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.Thumbprint2);
                    photoAttach         = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.Customer);
                    signatureAttach     = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.Signature);
                    dlLicenseAttach     = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.DriverLicense);
                    vehicleImageAttach  = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.Vehicle);
                    cashCardImageAttach = resultList.FirstOrDefault(a => a.Ref_Type == (int)EnumAttachmentRefType.CashCard);
                }
            }

            if (thumb1Attach != null)
            {
                thumbImage1 = thumb1Attach.Document_RefId.ToString();
            }

            if (thumb2Attach != null)
            {
                thumbImage2 = thumb2Attach.Document_RefId.ToString();
            }

            if (photoAttach != null)
            {
                photo = photoAttach.Document_RefId.ToString();
            }

            if (signatureAttach != null)
            {
                signatureImage = signatureAttach.Document_RefId.ToString();
            }

            if (dlLicenseAttach != null)
            {
                licenseImage = dlLicenseAttach.Document_RefId.ToString();
            }

            if (vehicleImageAttach != null)
            {
                vehicleImageRefId = vehicleImageAttach.Document_RefId.ToString();
            }

            if (cashCardImageAttach != null)
            {
                cashCardImageRefId = cashCardImageAttach.Document_RefId.ToString();
            }

            return(true);
        }
示例#7
0
        protected override void SaveChildEntities(string[] childEntityList, Scale entity)
        {
            foreach (string ChildEntity in childEntityList)
            {
                switch (ChildEntity)
                {
                    #region /* Case Statements - All child grids */

                case "ScaleDetails":
                    if (Session[ChildEntity] != null)
                    {
                        ScaleDetailsLibrary        ScaleDetailsLibrary = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleDetails> resultList          = (IList <ScaleDetails>)Session[ChildEntity];
                        foreach (ScaleDetails scaleDetails in resultList)
                        {
                            scaleDetails.Scale = new Scale {
                                ID = entity.ID
                            };
                            ScaleDetailsLibrary.Add(scaleDetails);
                        }
                    }
                    break;

                case "ScaleNotes":
                    if (Session[ChildEntity] != null)
                    {
                        ScaleNotesLibrary        ScaleNotesLibrary = new ScaleNotesLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleNotes> resultList        = (IList <ScaleNotes>)Session[ChildEntity];
                        foreach (ScaleNotes ScaleNote in resultList)
                        {
                            ScaleNote.Parent = new Scale {
                                ID = entity.ID
                            };
                            //itemNote.Notes = System.Web.HttpUtility.HtmlDecode(itemNote.Notes);
                            ScaleNotesLibrary.Add(ScaleNote);
                        }
                    }
                    break;

                case "ScaleAttachments":
                    if (Session[ChildEntity] != null)
                    {
                        ScaleAttachmentsLibrary        ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ScaleAttachments> resultList   = (IList <ScaleAttachments>)Session[ChildEntity];
                        string      destinationPath;
                        string      sourcePath;
                        FilelHelper fileHelper = new FilelHelper();
                        foreach (ScaleAttachments Scale in resultList)
                        {
                            destinationPath     = fileHelper.GetSourceDirByFileRefId(Scale.Document_RefId.ToString());     // Path.Combine(Configuration.GetsmARTDocPath(), Scale.Document_RefId.ToString());
                            sourcePath          = fileHelper.GetTempSourceDirByFileRefId(Scale.Document_RefId.ToString()); // Path.Combine(Configuration.GetsmARTTempDocPath(), Scale.Document_RefId.ToString());
                            Scale.Document_Path = fileHelper.GetFilePath(sourcePath);
                            fileHelper.MoveFile(Scale.Document_Name, sourcePath, destinationPath);

                            Scale.Parent = new Scale {
                                ID = entity.ID
                            };
                            ScaleLibrary.Add(Scale);
                        }
                    }
                    break;
                //case "ScaleIDCardAttachments":
                //  if (Session[ChildEntity] != null) {
                //    ScaleIDCardAttachmentsLibrary ScaleLibrary = new ScaleIDCardAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                //    IEnumerable<ScaleIDCardAttachments> resultList = (IList<ScaleIDCardAttachments>) Session[ChildEntity];
                //    string destinationPath;
                //    string sourcePath;
                //    FilelHelper fileHelper = new FilelHelper();
                //    foreach (ScaleIDCardAttachments Scale in resultList) {
                //      destinationPath = fileHelper.GetSourceDirByFileRefId(Scale.Document_RefId.ToString());// Path.Combine(Configuration.GetsmARTDocPath(), Scale.Document_RefId.ToString());
                //      sourcePath = fileHelper.GetTempSourceDirByFileRefId(Scale.Document_RefId.ToString()); // Path.Combine(Configuration.GetsmARTTempDocPath(), Scale.Document_RefId.ToString());
                //      Scale.Document_Path = fileHelper.GetFilePath(sourcePath);
                //      fileHelper.MoveFile(Scale.Document_Name, sourcePath, destinationPath);

                //      Scale.Parent = new Scale {
                //        ID = entity.ID
                //      };
                //      ScaleLibrary.Add(Scale);
                //    }
                //  }
                //  break;
                case "ScaleExpense":
                    if (Session[ChildEntity] != null)
                    {
                        ScaleExpenseLibrary           lib        = new ScaleExpenseLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        IEnumerable <ExpensesRequest> resultList = (IList <ExpensesRequest>)Session[ChildEntity];
                        foreach (ExpensesRequest exp in resultList)
                        {
                            exp.Reference = new Invoice {
                                ID = entity.ID
                            };
                            exp.Reference_Table = entity.GetType().Name;
                            exp.Reference_ID    = entity.ID;
                            lib.Add(exp);
                        }
                    }
                    break;

                    #endregion
                }
            }
        }
        private void SaveThumbScannerAttachment(int Id, byte[] data, string fileName, EnumAttachmentRefType refType, FileFormat fileFormat, bool updateParty = true)
        {
            Guid guid = SaveFile(data, string.Format("{0}.{1}", fileName, fileFormat.ToString()));

            ScaleAttachments attachments = new ScaleAttachments();

            attachments.Document_Name  = string.Format("{0}.{1}", fileName, fileFormat.ToString());// "Thumb-Image.jpeg";
            attachments.Document_RefId = guid;
            attachments.Document_Size  = data.LongLength;
            attachments.Document_Title = "Thumb-Image";
            attachments.Document_Type  = "jpeg";
            attachments.Ref_Type       = (int)refType;

            attachments.Updated_By        = User.Identity.Name;
            attachments.Created_By        = User.Identity.Name;
            attachments.Created_Date      = DateTime.Now;
            attachments.Last_Updated_Date = DateTime.Now;
            attachments.Parent            = new Scale {
                ID = Id
            };

            string destinationPath;
            string sourcePath;

            FilelHelper fileHelper = new FilelHelper();

            destinationPath = fileHelper.GetSourceDirByFileRefId(attachments.Document_RefId.ToString());     // Path.Combine(Configuration.GetsmARTDocPath(), Scale.Document_RefId.ToString());
            sourcePath      = fileHelper.GetTempSourceDirByFileRefId(attachments.Document_RefId.ToString()); // Path.Combine(Configuration.GetsmARTTempDocPath(), Scale.Document_RefId.ToString());

            attachments.Document_Path = fileHelper.GetFilePath(sourcePath);

            if (Id > 0)
            {
                fileHelper.MoveFile(attachments.Document_Name, sourcePath, destinationPath);
                ScaleAttachmentsLibrary ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                attachments.Document_Name = string.Format("{0}.{1}", fileName, "jpg");
                ScaleAttachments scaleAttachment = ScaleLibrary.Add(attachments);

                if (updateParty)
                {
                    Scale        scale    = new ScaleLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetByID(Id.ToString(), new string[] { "Party_ID" });
                    PartyLibrary partyLib = new PartyLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                    Party        party    = partyLib.GetByID(scale.Party_ID.ID.ToString());
                    if (party != null)
                    {
                        party.PhotoRefId = scaleAttachment.Document_RefId.ToString();
                        partyLib.Modify(party);
                    }
                }
            }
            else
            {
                if (Session["ScaleAttachments"] == null)
                {
                    Session["ScaleAttachments"] = new List <ScaleAttachments>();
                }

                IList <ScaleAttachments> iList = (IList <ScaleAttachments>)Session["ScaleAttachments"];
                iList.Add(attachments);
            }
        }
示例#9
0
        public HttpResponseMessage SaveTicket([FromBody] Ticket value)
        {
            try {
                if (value.Scale == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest));
                }

                // Start transaction.
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                    IsolationLevel = IsolationLevel.ReadCommitted
                })) {
                    smART.ViewModel.Scale newScale = new Scale();

                    // Add new party if already exists
                    if (!string.IsNullOrEmpty(value.Scale.License_No))
                    {
                        PartyLibrary partyLib = new PartyLibrary(ConString);
                        Party        party    = partyLib.GetByLicenseNo(value.Scale.License_No);
                        if (party != null)
                        {
                            newScale.Party_ID = party;
                        }
                        else
                        {
                            // Add new party
                            party                   = new Party();
                            party.Party_Name        = value.Scale.Customer_Name;
                            party.Party_Short_Name  = value.Scale.Customer_Name;
                            party.License_No        = value.Scale.License_No;
                            party.Party_Type        = "Individual";
                            party.Created_By        = value.Scale.Created_By;
                            party.Updated_By        = value.Scale.Created_By;
                            party.Created_Date      = value.Scale.Created_Date;
                            party.Last_Updated_Date = value.Scale.Created_Date;
                            party.Active_Ind        = true;
                            party.IsActive          = true;
                            party.State             = !string.IsNullOrEmpty(value.Scale.Customer_State) ? value.Scale.Customer_State.ToString().Trim() : "";
                            party.ACLicense_ID      = value.Scale.Customer_ACLicense_ID;
                            party.Party_DOB         = value.Scale.Customer_DOB;
                            //string dobString = value.Scale.Customer_DOB;
                            //DateTime dobDt;
                            //if (smART.Common.DateTimeHelper.IsValidDate(dobString, out dobDt))
                            //    party.Party_DOB = dobDt;

                            party             = partyLib.Add(party);
                            newScale.Party_ID = party;

                            // Add new Address
                            AddressBook address = new AddressBook();
                            address.Address1          = value.Scale.Customer_Address;
                            address.City              = value.Scale.Customer_City;
                            address.State             = value.Scale.Customer_State;
                            address.Country           = value.Scale.Customer_Country;
                            address.Party             = party;
                            address.Created_By        = value.Scale.Created_By;
                            address.Updated_By        = value.Scale.Created_By;
                            address.Created_Date      = value.Scale.Created_Date;
                            address.Last_Updated_Date = value.Scale.Created_Date;
                            address.Primary_Flag      = true;
                            address.Active_Ind        = true;
                            address.Zip_Code          = value.Scale.Customer_Zip;
                            AddressBookLibrary addressLib = new AddressBookLibrary(ConString);
                            addressLib.Add(address);
                        }
                    }

                    // Save Scale
                    ScaleLibrary lib = new ScaleLibrary(ConString);
                    newScale.Ticket_Status = "Open";
                    newScale.QScale        = true;
                    newScale.Gross_Weight  = value.ScaleDetails.Sum(s => s.GrossWeight);
                    newScale.Tare_Weight   = value.ScaleDetails.Sum(s => s.TareWeight);;
                    newScale.Net_Weight    = value.ScaleDetails.Sum(s => s.NetWeight);
                    value.Scale.MapServiceEntityToServerEntity(newScale);
                    smART.ViewModel.Scale scale = lib.Add(newScale);

                    // Save scale detail
                    if (value.ScaleDetails != null)
                    {
                        ScaleDetailsLibrary libScaleDetail = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        ItemLibrary         libItem        = new ItemLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        foreach (var item in value.ScaleDetails)
                        {
                            smART.ViewModel.ScaleDetails newScaleDetails = new smART.ViewModel.ScaleDetails();
                            newScaleDetails.Apply_To_Item = libItem.GetByID(item.Item_ID.ToString());
                            newScaleDetails.Item_Received = libItem.GetByID(item.Item_ID.ToString());
                            newScaleDetails.Scale         = scale;
                            item.MapServiceEntityToServerEntity(newScaleDetails);
                            ScaleDetails scaleDetails = libScaleDetail.Add(newScaleDetails);

                            // Set docuent related id if document is related to item
                            if (value.ScaleAttachments != null && value.ScaleAttachments.Count > 0)
                            {
                                Model.ScaleAttachments modelAttach = value.ScaleAttachments.Where(w => w.Document_RelatedID == item.ID).FirstOrDefault();
                                if (modelAttach != null && modelAttach.Document_RelatedTo == 1)
                                {
                                    modelAttach.Document_RelatedID = scaleDetails.ID;
                                }
                            }
                        }
                    }

                    // Save Max Ticket ID in Device Settings
                    DeviceSettingLibrary deviceLib      = new DeviceSettingLibrary(ConString);
                    DeviceSettings       deviceSettings = deviceLib.GetByUniueID(scale.Unique_ID.Value);
                    deviceSettings.MaxTicket_ID = value.Scale.ID;
                    deviceLib.Modify(deviceSettings);


                    // Save Attachments
                    if (value.ScaleAttachments != null)
                    {
                        ScaleAttachmentsLibrary libAttach  = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        FilelHelper             fileHelper = new FilelHelper();

                        foreach (var item in value.ScaleAttachments)
                        {
                            smART.ViewModel.ScaleAttachments newScaleAttachment = new smART.ViewModel.ScaleAttachments();

                            // Save file
                            Guid   docRefId        = Guid.NewGuid();
                            string destinationPath = fileHelper.GetSourceDirByFileRefId(docRefId.ToString());
                            fileHelper.MoveFile(item.Document_Title, fileHelper.GetTempSourceDirByFileRefId(item.Document_Path), destinationPath);

                            // Save attachment
                            newScaleAttachment.Parent         = scale;
                            newScaleAttachment.Document_RefId = docRefId;
                            newScaleAttachment.Document_Path  = Path.Combine(destinationPath, item.Document_Title);
                            item.MapServiceEntityToServerEntity(newScaleAttachment);
                            libAttach.Add(newScaleAttachment);
                        }
                    }

                    // Complete transaction.
                    scope.Complete();
                }
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception ex) {
                ExceptionHandler.HandleException(ex, "An error occured in SaveTicket.");
                //string details = string.Format("Method: {1} {0} Message: {2} {0} Stack Trace: {3}", System.Environment.NewLine, "SaveTicket", ex.Message, ex.StackTrace.ToString());
                //smART.Common.MessageLogger.Instance.LogMessage(ex, details, Common.Priority.High, 0, System.Diagnostics.TraceEventType.Error, "Service Error", "Service");
                return(Request.CreateResponse(HttpStatusCode.InternalServerError));
            }
        }
示例#10
0
        public string SaveTicketImage(String scaleId, string documentType)
        {
            var docfiles = new List <string>();

            try {
                int intScaleId = Convert.ToInt32(scaleId);
                if (intScaleId <= 0)
                {
                    throw new Exception("Invalid ticket id.");
                }

                int    intDocType = Convert.ToInt32(documentType);
                string fileName   = CommonHelper.GetFileNameByDocType(intDocType);
                if (string.IsNullOrEmpty(fileName))
                {
                    throw new Exception("Invalid document type.");
                }


                var httpRequest = HttpContext.Current.Request;
                if (httpRequest.Files.Count > 0)
                {
                    // Get scale
                    Scale scale = new ScaleLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetByID(scaleId, new string[] { "Party_ID" });
                    if (scale == null)
                    {
                        throw new Exception("Given scale id not found in database.");
                    }

                    FilelHelper fileHelper = new FilelHelper();
                    foreach (string file in httpRequest.Files)
                    {
                        // Save file
                        string docRefID        = Guid.NewGuid().ToString();
                        var    destinationPath = fileHelper.GetSourceDirByFileRefId(docRefID); // Path.Combine(Configuration.GetsmARTTempDocPath(), docRefID);
                        fileHelper.CreateDirectory(destinationPath);
                        var postedFile = httpRequest.Files[file];
                        postedFile.SaveAs(Path.Combine(destinationPath, fileName));
                        docfiles.Add(docRefID);

                        // Add attachment
                        ScaleAttachments attachments = new ScaleAttachments();
                        attachments.Document_Name  = fileName;
                        attachments.Document_RefId = new Guid(docRefID);
                        attachments.Document_Size  = 0;
                        attachments.Document_Title = fileName;
                        attachments.Document_Type  = "jpeg";
                        attachments.Ref_Type       = intDocType;

                        attachments.Updated_By        = User.Identity.Name;
                        attachments.Created_By        = User.Identity.Name;
                        attachments.Created_Date      = DateTime.Now;
                        attachments.Last_Updated_Date = DateTime.Now;
                        attachments.Parent            = new Scale {
                            ID = intScaleId
                        };
                        attachments.Document_Path = destinationPath;

                        ScaleAttachmentsLibrary ScaleLibrary = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                        attachments.Document_Name = fileName;
                        ScaleAttachments scaleAttachment = ScaleLibrary.Add(attachments);

                        // Update file ref in party master
                        if (scale.Party_ID != null && scale.Party_ID.ID > 0)
                        {
                            PartyLibrary partyLib = new PartyLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                            Party        party    = partyLib.GetByID(scale.Party_ID.ID.ToString());
                            if (party != null)
                            {
                                SetPartyImageRefByDocType(intDocType, scaleAttachment.Document_RefId.ToString(), party);
                                partyLib.Modify(party);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) {
                //string details = string.Format("Method: {1} {0} Message: {2} {0} Stack Trace: {3}", System.Environment.NewLine, "SaveTicketImage", ex.Message, ex.StackTrace.ToString());
                ExceptionHandler.HandleException(ex, "An error occured in SaveTicketImage utils.");
                //smART.Common.MessageLogger.Instance.LogMessage(ex, details, Common.Priority.High, 0, System.Diagnostics.TraceEventType.Error, "Service Error", "Service");
            }
            return(docfiles.FirstOrDefault());
        }
示例#11
0
        public ActionResult SendEmail(string id)
        {
            string      destinationFilePath = string.Empty;
            FilelHelper fileHelper          = new FilelHelper();

            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    throw new Exception("Email send failed due to Container# not found.");
                }

                ContainerLibrary containerLib = new ContainerLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                Container        container    = containerLib.GetByID(id, new string[] { "Booking.Sales_Order_No.Party" });

                if (container == null || container.Booking == null || container.Booking.Sales_Order_No == null || container.Booking.Sales_Order_No.Party == null)
                {
                    throw new Exception("Email send failed.");
                }

                IEnumerable <Contact> contacts = Helpers.ContactHelper.GetEmailContactsByPartyId(container.Booking.Sales_Order_No.Party.ID);
                if (contacts.Count() <= 0)
                {
                    throw new Exception("There is no email contact exists.");
                }

                NotificationDefinition notDef = new NotificationDefinition();
                notDef.ToRecipients = new System.Net.Mail.MailAddressCollection();
                foreach (var item in contacts)
                {
                    notDef.ToRecipients.Add(new System.Net.Mail.MailAddress(item.Email, item.ListText));
                }

                EmployeeHelper employeeHelper = new EmployeeHelper();
                Employee       employee       = employeeHelper.GetEmployeeByUsername(System.Web.HttpContext.Current.User.Identity.Name);
                if (employee == null || string.IsNullOrEmpty(employee.Email) || string.IsNullOrEmpty(employee.Email_Password))
                {
                    throw new Exception("Sender email and password is required.");
                }

                ScaleLibrary scaleLib = new ScaleLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                Scale        scale    = scaleLib.GetScalesByContainerId(container.ID);

                ScaleAttachmentsLibrary        scaleAttachLib   = new ScaleAttachmentsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString());
                IEnumerable <ScaleAttachments> scaleAttachments = scaleAttachLib.GetAllByParentID(scale.ID);
                if (scaleAttachments == null || scaleAttachments.Count() <= 0)
                {
                    throw new Exception("There is no attachment found.");
                }

                destinationFilePath = Path.Combine(Path.GetTempPath(), container.ID.ToString());
                fileHelper.CreateDirectory(destinationFilePath);
                fileHelper.DeleteFiles(destinationFilePath);
                string imageFilePath = Path.Combine(destinationFilePath, "Images");
                fileHelper.CreateDirectory(imageFilePath);

                string zipFilePath = Path.Combine(destinationFilePath, container.ID.ToString() + ".zip");

                foreach (var item in scaleAttachments)
                {
                    string sourceFilePath    = fileHelper.GetFilePathByFileRefId(item.Document_RefId.ToString());
                    string imageFileFullPath = Path.Combine(imageFilePath, item.Document_Name);
                    System.IO.File.Copy(sourceFilePath, imageFileFullPath);
                }
                new smART.Common.FilelHelper().CreateZip(imageFilePath, zipFilePath);

                if (!fileHelper.FileExits(zipFilePath))
                {
                    throw new Exception("There is no attachment found.");
                }

                string xslPath     = Path.Combine(ConfigurationHelper.GetsmARTXslPath(), "ContainerEmailBody.xslt");
                string smtpAddress = ConfigurationHelper.GetsmARTSMTPServer();

                notDef.Attachments = new List <System.Net.Mail.Attachment>();
                notDef.Attachments.Add(new System.Net.Mail.Attachment(zipFilePath));
                notDef.DeliveryType            = EnumNotificationDeliveryType.Email;
                notDef.FormatType              = EnumFormatType.HTML;
                notDef.Sender                  = new System.Net.Mail.MailAddress(employee.Email, employee.Emp_Name);
                notDef.SMTPServer              = smtpAddress;
                notDef.SMTPServerCredentialID  = employee.Email;
                notDef.SMTPServerCredentialPwd = employee.Email_Password;
                notDef.Subject                 = "Booking#/Container#: " + container.Booking.Booking_Ref_No + "/" + container.Container_No;
                NotificationHelper.StartNotificationWF(id, container.Booking.Sales_Order_No.Party.Party_Name, PartyHelper.GetOrganizationName(), employee.Emp_Name, notDef, xslPath, NotificationWFCompleted, container.Booking.Booking_Ref_No, container.Booking.Sales_Order_No.ID.ToString());
                //return Display(command, container);
                if (_sendMail == true)
                {
                    return(Json(new { Sucess = "Email send sucessfully." }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { Sucess = "Email send failed." }, JsonRequestBehavior.AllowGet));
                }
                //return Json(new { Sucess = "Email send sucessfully." }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                //var script = @"ShowAlertMessage(""Send mail failed"");";
                //return JavaScript(script);
                return(Json(new { Sucess = ex.Message }, JsonRequestBehavior.AllowGet));
            }
            finally
            {
                //fileHelper.DeleteDirectory(destinationFilePath);
            }
        }