Esempio n. 1
0
        public long UpdateApplicationIssue(ApplicationIssueObject applicationIssue)
        {
            try
            {
                if (applicationIssue == null)
                {
                    return(-2);
                }

                var applicationIssueEntity = ModelMapper.Map <ApplicationIssueObject, ApplicationIssue>(applicationIssue);
                if (applicationIssueEntity == null || applicationIssueEntity.Id < 1)
                {
                    return(-2);
                }

                using (var db = new ImportPermitEntities())
                {
                    db.ApplicationIssues.Attach(applicationIssueEntity);
                    db.Entry(applicationIssueEntity).State = EntityState.Modified;
                    db.SaveChanges();
                    return(applicationIssue.Id);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
Esempio n. 2
0
        private GenericValidator ValidateApplicationIssue(ApplicationIssueObject applicationIssue)
        {
            var gVal = new GenericValidator();
            try
            {
                if (string.IsNullOrEmpty(applicationIssue.ReferenceCode))
                {
                    gVal.Code = -1;
                    gVal.Error = "Please select provide ApplicationIssue.";
                    return gVal;
                }


                gVal.Code = 5;
                return gVal;

            }
            catch (Exception)
            {

                gVal.Code = -1;
                gVal.Error = "ApplicationIssue Validation failed. Please provide all required fields and try again.";
                return gVal;
            }
        }
Esempio n. 3
0
        public long AddApplicationIssue(ApplicationIssueObject applicationIssue)
        {
            try
            {
                if (applicationIssue == null)
                {
                    return(-2);
                }

                var applicationIssueEntity = ModelMapper.Map <ApplicationIssueObject, ApplicationIssue>(applicationIssue);
                if (applicationIssueEntity == null || applicationIssueEntity.ApplicationId < 1)
                {
                    return(-2);
                }
                using (var db = new ImportPermitEntities())
                {
                    var returnStatus = db.ApplicationIssues.Add(applicationIssueEntity);
                    db.SaveChanges();
                    return(returnStatus.Id);
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
                return(0);
            }
        }
Esempio n. 4
0
        public ActionResult EditApplicationIssue(ApplicationIssueObject applicationIssue)
        {
            var gVal = new GenericValidator();

            try
            {
                

                if (string.IsNullOrEmpty(applicationIssue.ReferenceCode.Trim()))
                {
                    gVal.Code = -1;
                    gVal.Error = "Please provide ApplicationIssue.";
                    return Json(gVal, JsonRequestBehavior.AllowGet);
                }

                if (Session["_ApplicationIssue"] == null)
                {
                    gVal.Code = -1;
                    gVal.Error = "Session has timed out.";
                    return Json(gVal, JsonRequestBehavior.AllowGet);
                }

                var oldApplicationIssue = Session["_ApplicationIssue"] as ApplicationIssueObject;

                if (oldApplicationIssue == null)
                {
                    gVal.Code = -1;
                    gVal.Error = "Session has timed out.";
                    return Json(gVal, JsonRequestBehavior.AllowGet);
                }


                oldApplicationIssue.ReferenceCode = applicationIssue.ReferenceCode.Trim();

                var docStatus = new ApplicationIssueServices().UpdateApplicationIssue(oldApplicationIssue);
                if (docStatus < 1)
                {
                    gVal.Code = -1;
                    gVal.Error = "ApplicationIssue information could not be updated. Please try again later";
                    return Json(gVal, JsonRequestBehavior.AllowGet);
                }

                gVal.Code = oldApplicationIssue.Id;
                gVal.Error = "ApplicationIssue information was successfully updated";
                return Json(gVal, JsonRequestBehavior.AllowGet);

            }
            catch (Exception)
            {
                gVal.Code = -1;
                gVal.Error = "ApplicationIssue information could not be updated. Please try again later";
                return Json(gVal, JsonRequestBehavior.AllowGet);
            }
        }
 public long UpdateApplicationIssue(ApplicationIssueObject applicationIssue)
 {
     try
     {
         return(_applicationIssueManager.UpdateApplicationIssue(applicationIssue));
     }
     catch (Exception ex)
     {
         ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
         return(0);
     }
 }
Esempio n. 6
0
        public ActionResult AddApplicationIssue(ApplicationIssueObject applicationIssue)
        {
            var gVal = new GenericValidator();

            try
            {
               

                var importerInfo = GetLoggedOnUserInfo();
                if (importerInfo.Id < 1)
                {
                    gVal.Error = "Your session has timed out";
                    gVal.Code = -1;
                    return Json(gVal, JsonRequestBehavior.AllowGet);
                }

                var validationResult = ValidateApplicationIssue(applicationIssue);

                if (validationResult.Code == 1)
                {
                    return Json(validationResult, JsonRequestBehavior.AllowGet);
                }

                var appStatus = new ApplicationIssueServices().AddApplicationIssue(applicationIssue);
                if (appStatus < 1)
                {
                    validationResult.Code = -1;
                    validationResult.Error = appStatus == -2 ? "ApplicationIssue upload failed. Please try again." : "The ApplicationIssue Information already exists";
                    return Json(validationResult, JsonRequestBehavior.AllowGet);
                }

                gVal.Code = appStatus;
                gVal.Error = "ApplicationIssue was successfully added.";
                return Json(gVal, JsonRequestBehavior.AllowGet);

            }
            catch (Exception)
            {
                gVal.Error = "ApplicationIssue applicationIssueing failed. Please try again later";
                gVal.Code = -1;
                return Json(gVal, JsonRequestBehavior.AllowGet);
            }
        }
Esempio n. 7
0
        public ApplicationObject GetApplicationFromIssue(long issueId, long userId)
        {
            try
            {
                using (var db = new ImportPermitEntities())
                {
                    var issue = db.ApplicationIssues.Where(i => i.Id == issueId).ToList();
                    if (issue.Any())
                    {
                        var issId          = issue[0].ApplicationId;
                        var myApplications =
                            db.Applications.Where(m => m.Id == issId)
                            .Include("Importer")
                            .Include("ApplicationItems")
                            .Include("ApplicationDocuments")
                            .Include("NotificationBankers")
                            .ToList();
                        if (!myApplications.Any())
                        {
                            return(new ApplicationObject());
                        }

                        var app          = myApplications[0];
                        var importObject = ModelMapper.Map <Application, ApplicationObject>(app);
                        if (importObject == null || importObject.Id < 1)
                        {
                            return(new ApplicationObject());
                        }

                        importObject.ReferenceCode       = app.Invoice.ReferenceCode;
                        importObject.DateAppliedStr      = app.DateApplied.ToString("dd/MM/yyyy");
                        importObject.StatusStr           = Enum.GetName(typeof(AppStatus), app.ApplicationStatusCode);
                        importObject.LastModifiedStr     = importObject.LastModified.ToString("dd/MM/yyyy");
                        importObject.ImporterStr         = app.Importer.Name;
                        importObject.ApplicationTypeName = app.ApplicationType.Name;


                        importObject.ApplicationItemObjects     = new List <ApplicationItemObject>();
                        importObject.ApplicationDocumentObjects = new List <ApplicationDocumentObject>();
                        importObject.StandardRequirementObjects = new List <StandardRequirementObject>();

                        var permApp = db.PermitApplications.Where(p => p.ApplicationId == app.Id).ToList();

                        if (permApp.Any())
                        {
                            var permId = permApp[0].PermitId;
                            var perm   = db.Permits.Where(m => m.Id == permId).ToList();
                            if (perm.Any())
                            {
                                importObject.PermitStr = perm[0].PermitValue;
                            }
                            else if (!perm.Any())
                            {
                                importObject.PermitStr = "Nil";
                            }
                        }



                        app.ApplicationItems.ToList().ForEach(u =>
                        {
                            var im = ModelMapper.Map <ApplicationItem, ApplicationItemObject>(u);
                            if (im != null && im.ApplicationId > 0)
                            {
                                im.ProductObject = (from pr in db.Products.Where(x => x.ProductId == im.ProductId)
                                                    select new ProductObject
                                {
                                    ProductId = pr.ProductId,
                                    Code = pr.Code,
                                    Name = pr.Name,
                                    Availability = pr.Availability
                                }).ToList()[0];

                                var appCountries = db.ApplicationCountries.Where(a => a.ApplicationItemId == im.Id).Include("Country").ToList();
                                var depotList    = db.ThroughPuts.Where(a => a.ApplicationItemId == im.Id).Include("Depot").ToList();
                                if (appCountries.Any() && depotList.Any())
                                {
                                    im.CountryOfOriginName = "";
                                    appCountries.ForEach(c =>
                                    {
                                        if (string.IsNullOrEmpty(im.CountryOfOriginName))
                                        {
                                            im.CountryOfOriginName = c.Country.Name;
                                        }
                                        else
                                        {
                                            im.CountryOfOriginName += ", " + c.Country.Name;
                                        }
                                    });

                                    im.DischargeDepotName = "";
                                    depotList.ForEach(d =>
                                    {
                                        if (string.IsNullOrEmpty(im.DischargeDepotName))
                                        {
                                            im.DischargeDepotName = d.Depot.Name;
                                        }
                                        else
                                        {
                                            im.DischargeDepotName += ", " + d.Depot.Name;
                                        }
                                    });
                                }
                                importObject.ApplicationItemObjects.Add(im);
                            }
                        });


                        var doc = (from ad in app.ApplicationDocuments
                                   join d in db.Documents on ad.DocumentId equals d.DocumentId

                                   select new ApplicationDocumentObject
                        {
                            DocumentTypeName = d.DocumentType.Name,
                            DateUploaded = d.DateUploaded,
                            DocumentPathStr = d.DocumentPath
                        }).ToList();
                        if (doc.Any())
                        {
                            foreach (var item in doc)
                            {
                                item.DateUploadedStr = item.DateUploaded.ToString("dd/MM/yyyy");
                                item.DocumentPathStr = item.DocumentPathStr.Replace("~", "").Replace("/", "\\");
                                importObject.ApplicationDocumentObjects.Add(item);
                            }
                        }

                        importObject.StandardRequirementObjects = new List <StandardRequirementObject>();

                        var doc2 =
                            db.StandardRequirements.Where(s => s.ImporterId == importObject.ImporterId)
                            .Include("StandardRequirementType")
                            .ToList();

                        if (doc2.Any())
                        {
                            foreach (var standardObj in doc2.Select(item => new StandardRequirementObject
                            {
                                DocumentPath = item.DocumentPath.Replace("~", "").Replace("/", "\\"),
                                DateStr = item.LastUpdated.ToString("dd/MM/yyyy"),
                                StandardRequirementTypeName = item.StandardRequirementType.Name
                            }))
                            {
                                importObject.StandardRequirementObjects.Add(standardObj);
                            }
                        }

                        importObject.ApplicationIssueObjects = new List <ApplicationIssueObject>();


                        foreach (var item in issue)
                        {
                            var issueObj = new ApplicationIssueObject();
                            issueObj.IssueTypeName = item.IssueType.Name;
                            issueObj.IssueDateStr  = item.IssueDate.ToString();
                            issueObj.Description   = item.Description;
                            issueObj.StatusStr     = Enum.GetName(typeof(IssueStatus), item.Status);

                            importObject.ApplicationIssueObjects.Add(issueObj);
                        }

                        return(importObject);
                    }
                    return(new ApplicationObject());
                }
            }
            catch (Exception ex)
            {
                ErrorLogger.LoggError(ex.StackTrace, ex.Source, ex.Message);
                return(new ApplicationObject());
            }
        }