Пример #1
0
        public QuotaionVM(QuotationDM Quotaion)
        {
            GlobalErrors globalErros = new GlobalErrors();

            ID         = Quotaion.ID;
            FromLangID = Quotaion.FromLangID;
            ToLangID   = Quotaion.ToLangID;
            WordCount  = Quotaion.WordCount;
            IP_Address = Quotaion.IP_Address;
            IsRush     = Quotaion.IsRush;
            RushDate   = Quotaion.RushDate;
            SubjectID  = Quotaion.Subject.ID;
            StartDate  = Quotaion.StartDate;
            CategoryID = Quotaion.CategoryID;
        }
Пример #2
0
        public QuotationDM MapVM_DM()
        {
            GlobalErrors globalErrors = new GlobalErrors();
            QuotationDM  obj          = new QuotationDM(globalErrors);

            obj.ID         = ID;
            obj.FromLangID = FromLangID;
            obj.ToLangID   = ToLangID;
            obj.WordCount  = WordCount;
            //obj.IP_Address = IP_Address;
            obj.IsRush   = IsRush;
            obj.RushDate = RushDate;
            obj.Subject  = new SubjectDM(globalErrors)
            {
                ID = SubjectID
            };
            obj.StartDate  = StartDate;
            obj.CategoryID = CategoryID;

            return(obj);
        }
        // POST api/quotation
        public HttpResponseMessage RequestQuotation([FromBody] QuotaionVM dataModel)
        {
            try
            {
                QuotationDM domainModel = dataModel.MapVM_DM();
                domainModel = _QuotaionService.GetQuotationForCategory(domainModel);

                var msg = Request.CreateResponse(HttpStatusCode.Created, domainModel);
                return(msg);
            }
            catch (Exception ex)
            {
                //Errors in this scope indicates system error (not validation errors)
                //If error exist but not handled, log it and add system error
                if (!globalErrors.ErrorHandled)
                {
                    globalErrors.AddSystemError("Service Error: Cannot Request Quotation!");
                    globalErrors.ErrorHandled = true;
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
                }
                throw;
            }
        }
Пример #4
0
        public QuotationDM GetQuotationForCategory(QuotationDM domainModel)
        {
            try
            {
                if (domainModel.FromLangID == domainModel.ToLangID)
                {
                    _GlobalErrors.AddValidationError("", "From language equla Tatrget language");
                    _GlobalErrors.ErrorHandled = true;
                    throw new Exception();
                }
                CategoryService _CategorySer = new CategoryService(_GlobalErrors);
                domainModel.StartDate = DateTime.Now;
                _QuotaionRepo.Add(domainModel);

                if (domainModel.CategoryID == null)
                {
                    domainModel.CategoryDMList = _CategorySer.GetAllCategories();

                    domainModel.QuotaionDetailsList = new List<QuotaionDetailsDM>();

                    foreach (var item in domainModel.CategoryDMList)
                    {
                        QuotaionDetailsDM obj = new QuotaionDetailsDM(_GlobalErrors);

                        obj.Category = item;
                        obj.Quotaion = domainModel;
                        obj.AddCalculatedQuotation();
                        _QuotaionRepo.AddDetails(obj);

                        domainModel.QuotaionDetailsList.Add(obj);
                    }
                }

                else
                {
                    CategoryDM CatObj = _CategorySer.GetById(domainModel.CategoryID);

                    domainModel.QuotaionDetailsList = new List<QuotaionDetailsDM>();

                    QuotaionDetailsDM obj = new QuotaionDetailsDM(_GlobalErrors);

                    obj.Category = CatObj;
                    obj.Quotaion = domainModel;
                    obj.AddCalculatedQuotation();
                    _QuotaionRepo.AddDetails(obj);

                    domainModel.QuotaionDetailsList.Add(obj);
                }

                return domainModel;
            }
            catch (Exception ex)
            {
                //Errors in this scope indicates system error (not validation errors)
                //If error exist but not handled, log it and add system error
                if (!_GlobalErrors.ErrorHandled)
                {
                    _Logger.Error(ex, "Service Error: Cannot Request Quotation!");
                    _GlobalErrors.AddSystemError("Service Error: Cannot Request Quotation!");
                    _GlobalErrors.ErrorHandled = true;
                }
                throw;
            }
        }
Пример #5
0
 public QuotaionService(GlobalErrors globalErrors)
     : base(globalErrors)
 {
     _QuotaionRepo = new QuotaionRepository(globalErrors);
     _QuotaionDM = new QuotationDM(globalErrors);
 }