Ejemplo n.º 1
0
        public List<VendorDetailsModel> DeleteVendor(long Id, long bulkBuyID)
        {
            List<VendorDetailsModel> lstvendors = new List<VendorDetailsModel>();
            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {
                    VendorDetail vendor = GetVendor(db, Id);

                    db.VendorDetails.Remove(vendor);
                    db.SaveChanges();
                    var lstproducts = db.VendorDetails.Where(m => m.BulkByID == bulkBuyID).ToList();
                    foreach (var cusprod in lstproducts)
                    {
                        VendorDetailsModel objvendor = new VendorDetailsModel();
                        cusprod.CopyProperties(objvendor);
                        lstvendors.Add(objvendor);
                    }

                }
                catch (Exception)
                {

                }
                return lstvendors;
            }
        }
Ejemplo n.º 2
0
 public AddNewVendorFrm(UniEnums.VendorType vendorType)
 {
     InitializeComponent();
     _vendor = new VendorDetail() { VendorType = vendorType.ToString(), ProcessedDate = DateTime.Now.Date };
     _isNewRecord = true;
     _vendorType = vendorType;
 }
Ejemplo n.º 3
0
        public VendorDetail ShowVendor(int vendorId)
        {
            var form = new VendorDetail();

            form.ShowObject(vendorId);
            return(form);
        }
        public IHttpActionResult VendorRegistrationAddUpdate([FromBody] VendorDetail vendorDetails)
        {
            if (vendorDetails.Phone <= 0 || vendorDetails.Phone.ToString().Length < 10)
            {
                return(BadRequest(InvalidPhoneNumberMessage));
            }
            if (string.IsNullOrEmpty(vendorDetails.VendorName))
            {
                return(BadRequest("Invalid vendor name"));
            }

            var existingVendorDetail = communitieswinEntities.vendor_details.FirstOrDefault(x => x.phone == vendorDetails.Phone);

            if (existingVendorDetail == null)
            {
                existingVendorDetail = new vendor_details
                {
                    phone       = vendorDetails.Phone,
                    vendor_name = vendorDetails.VendorName,
                    country     = vendorDetails.Country,
                    city        = vendorDetails.City,
                    state       = vendorDetails.State,
                    pin         = vendorDetails.Pin,
                    latitude    = vendorDetails.Latitude,
                    longitude   = vendorDetails.Longitude
                };
                communitieswinEntities.vendor_details.Add(existingVendorDetail);
            }
            else
            {
                existingVendorDetail.vendor_name = vendorDetails.VendorName;
                existingVendorDetail.latitude    = vendorDetails.Latitude;
                existingVendorDetail.longitude   = vendorDetails.Longitude;
                existingVendorDetail.city        = vendorDetails.City;
                existingVendorDetail.state       = vendorDetails.State;
                existingVendorDetail.pin         = vendorDetails.Pin;
                existingVendorDetail.country     = vendorDetails.Country;
            }
            communitieswinEntities.SaveChanges();
            if (!string.IsNullOrEmpty(vendorDetails.Categories))
            {
                var categories = vendorDetails.Categories.Split(',');
                foreach (var category in categories)
                {
                    long categoryId     = SaveCategory(category.Trim());
                    var  vendorCategory = communitieswinEntities.vendor_category.FirstOrDefault(x => x.vendor_id == existingVendorDetail.vendor_id && x.category_id == categoryId);
                    if (vendorCategory == null)
                    {
                        communitieswinEntities.vendor_category.Add(new vendor_category()
                        {
                            vendor_id   = existingVendorDetail.vendor_id,
                            category_id = categoryId,
                            is_active   = true
                        });
                    }
                }
            }
            return(Ok());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Saving vendor from SAP to Database
        /// Date: 20 June 2019
        /// Developer: Shreyans Khandelwal (0538)
        /// </summary>
        public void SaveVendor()
        {
            try
            {
                VendorDetail vendorDetail = new VendorDetail();
                //vendorDetail = objSapVendor.GetVendor();
                vendorDetail.PanNumber = "0192873661";
                int  venId          = 0;
                bool addAssoCompany = false;

                //allowing to add vendor only if PAN number is available
                if (!string.IsNullOrEmpty(vendorDetail.PanNumber))
                {
                    //checking if vendor already exist on basis of PAN number
                    var vendorId = (from data in finocartEntities.Company where data.Pan_number == vendorDetail.PanNumber select data.CompanyID).FirstOrDefault();

                    //if vendor exist linking it to new company
                    if (vendorId > 0)
                    {
                        var vendorAssociate = (from data in finocartEntities.VendorAssociatedCompany where data.VendorId == vendorId && data.CompanyId == 5678 select data).FirstOrDefault();
                        if (vendorAssociate == null)
                        {
                            venId          = vendorId;
                            addAssoCompany = true;
                        }
                    }
                    //If vendor does not exist adding it to DB
                    else
                    {
                        vendorDetail.InstretedAs = (from data in finocartEntities.LookupDetails
                                                    where data.LookupValue == "Vendor" && data.LookupFor == "AccessView"
                                                    select data.ID).FirstOrDefault();
                        Company company = MapCompany(vendorDetail);
                        finocartEntities.Company.Add(company);
                        finocartEntities.SaveChanges();
                        addAssoCompany = true;
                        venId          = company.CompanyID;
                    }
                    //Linking vendor to the company
                    if (addAssoCompany)
                    {
                        if (!finocartEntities.VendorAssociatedCompany.Where(data => data.VendorId == venId && data.CompanyId == 57).Any())
                        {
                            VendorAssociatedCompany vendorAssociatedCompany = new VendorAssociatedCompany();
                            vendorAssociatedCompany.VendorId  = venId;
                            vendorAssociatedCompany.CompanyId = 57;

                            finocartEntities.VendorAssociatedCompany.Add(vendorAssociatedCompany);
                            finocartEntities.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.WriteLog(ex);
                throw ex;
            }
        }
Ejemplo n.º 6
0
        public AddNewVendorFrm(long srNo, UniEnums.VendorType vendorType)
        {
            InitializeComponent();

            _vendorType = vendorType;
            _vendor = _uniDb.VendorDetails.Single(x => x.SrNo == srNo
                                                       && x.VendorType == vendorType.ToString());
            _isNewRecord = false;
        }
Ejemplo n.º 7
0
        //[HttpPost]
        //public ActionResult Index(VendorDetail model)
        //{
        //    var em = model.Email;
        //    var name = model.Name;

        //}

        public ActionResult SendMailBtn(VendorDetail v)
        {
            string email   = Request.Form["emailId"];
            string message = Request.Form["message"];

            Execute(email, message).Wait(1000);
            //How to add notify.js or sweetAlert.js here or any other notification

            return(Redirect("~/Vendor/Index"));
        }
Ejemplo n.º 8
0
        // vendor
        public List<VendorDetailsModel> AddVendor(VendorDetailsModel vendorModel)
        {
            List<VendorDetailsModel> lstvendors = new List<VendorDetailsModel>();
            using (ShopDevEntities db = new ShopDevEntities())
            {
                try
                {


                    vendorModel.BulkByID = vendorModel.BulkByID == null ? 0 : vendorModel.BulkByID;
                    VendorDetail vendordetails = null;
                    if (vendorModel.VendorCode == null)
                    {
                        Vendor vendor = new Vendor
                        {
                            VendorName = vendorModel.VendorName,
                            Address = vendorModel.Address,
                            MobileNo= vendorModel.MobileNo,
                            TotalBulks=1
                        };
                        db.Vendors.Add(vendor);
                        db.SaveChanges();
                        vendorModel.VendorCode = vendor.VendorCode;
                    }
                    if (vendorModel.BuyVendorID > 0)
                    {
                        vendordetails = db.VendorDetails.Where(m => m.BuyVendorID == vendorModel.BuyVendorID).FirstOrDefault();
                    }
                    else
                    {
                        vendordetails = new VendorDetail();
                    }
                    vendorModel.CopyProperties(vendordetails);
                    if (vendorModel.BuyVendorID == 0)
                    {
                        db.VendorDetails.Add(vendordetails);
                    }
                    db.SaveChanges();
                    var lstAllvendors = db.VendorDetails.Where(m => m.BulkByID == vendorModel.BulkByID).ToList();
                    foreach (var cusprod in lstAllvendors)
                    {
                        VendorDetailsModel objcsproduct = new VendorDetailsModel();
                        cusprod.CopyProperties(objcsproduct);
                        lstvendors.Add(objcsproduct);
                    }
                    return lstvendors;
                }
                catch (Exception)
                {
                    return lstvendors;
                }
            }
        }
 public VendorDetail GetVendorDetailsById(int id)
 {
     try {
         VendorDetail result = new VendorDetail();
         var          vendor = _context.SubContractor.Where(x => x.Id == id && x.IsDelete == false)
                               .Include(s => s.SubContractorServiceType).FirstOrDefault();
         result = _mapper.Map <VendorDetail> (vendor);
         return(result);
     } catch (Exception ex) {
         throw ex;
     }
 }
Ejemplo n.º 10
0
        public VendorDetail GetVendor(ShopDevEntities db, long Id)
        {
            VendorDetail objvendor = null;
            try
            {
                objvendor = db.VendorDetails.Where(m => m.BuyVendorID == Id).FirstOrDefault();
            }
            catch (Exception)
            {

            }
            return objvendor;
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Getting vendor details from SAP
        /// Date: 20 June 2019
        /// Developer: Shreyans Khandelwal (0538)
        /// </summary>
        /// <param name="rfcDest"></param>
        /// <returns></returns>
        public VendorDetail GetVendorDetail(RfcDestination rfcDest)
        {
            try
            {
                VendorDetail vendorDetModel = new VendorDetail();

                RfcDestination SAPRfcDestination = RfcDestinationManager.GetDestination("accelyides");

                RfcRepository rfcrep = SAPRfcDestination.Repository;
                IRfcFunction  BapiGetCompanyDetail = null;


                BapiGetCompanyDetail = rfcrep.CreateFunction("BAPI_VENDOR_GETDETAIL");
                BapiGetCompanyDetail.SetValue("VENDORNO", "VBX");
                BapiGetCompanyDetail.SetValue("COMPANYCODE", "0001");
                BapiGetCompanyDetail.Invoke(rfcDest);

                IRfcStructure IRS_OS_GeneralDet = BapiGetCompanyDetail.GetStructure("GENERALDETAIL");
                vendorDetModel.CompanyName   = IRS_OS_GeneralDet.GetValue("VENDOR").ToString();
                vendorDetModel.ContactName   = IRS_OS_GeneralDet.GetValue("NAME").ToString();
                vendorDetModel.ContactMobile = IRS_OS_GeneralDet.GetValue("TELEPHONE").ToString();
                vendorDetModel.Address       = IRS_OS_GeneralDet.GetValue("FORMOFADDR").ToString();
                //vendorDetModel.NAME_2 = IRS_OS_GeneralDet.GetValue("NAME_2").ToString();
                //vendorDetModel.NAME_3 = IRS_OS_GeneralDet.GetValue("NAME_3").ToString();
                //vendorDetModel.NAME_4 = IRS_OS_GeneralDet.GetValue("NAME_4").ToString();
                //vendorDetModel.CITY = IRS_OS_GeneralDet.GetValue("CITY").ToString();
                //vendorDetModel.DISTRICT = IRS_OS_GeneralDet.GetValue("DISTRICT").ToString();
                //vendorDetModel.PO_BOX = IRS_OS_GeneralDet.GetValue("PO_BOX").ToString();
                //vendorDetModel.POBX_PCD = IRS_OS_GeneralDet.GetValue("POBX_PCD").ToString();
                //vendorDetModel.POSTL_CODE = IRS_OS_GeneralDet.GetValue("POSTL_CODE").ToString();
                //vendorDetModel.REGION = IRS_OS_GeneralDet.GetValue("REGION").ToString();
                ////vendorDetModel.Address = IRS_OS_GeneralDet.GetValue("STREET").ToString();
                //vendorDetModel.COUNTRY = IRS_OS_GeneralDet.GetValue("STREET").ToString();
                //vendorDetModel.COUNTRYISO = IRS_OS_GeneralDet.GetValue("COUNTRYISO").ToString();
                //vendorDetModel.POBX_CTY = IRS_OS_GeneralDet.GetValue("POBX_CTY").ToString();
                //vendorDetModel.LANGU = IRS_OS_GeneralDet.GetValue("LANGU").ToString();
                //vendorDetModel.LANGU_ISO = IRS_OS_GeneralDet.GetValue("LANGU_ISO").ToString();
                //vendorDetModel.TELEPHONE2 = IRS_OS_GeneralDet.GetValue("TELEPHONE2").ToString();

                RfcSessionManager.EndContext(rfcDest);

                return(vendorDetModel);
            }
            catch (Exception ex)
            {
                logger.WriteLog(ex);
                throw ex;
            }
        }
Ejemplo n.º 12
0
        public ActionResult InsertVendor(VendorDetail vendorDetail)
        {
            vendorDetail.UserName = Request.Form["uname"];
            _context.VendorDetails.Add(vendorDetail);
            _context.SaveChanges();
            var uD = new UsersDetail();

            uD.UserName     = Request.Form["uname"];
            uD.UserPassword = encryptPassword(Request.Form["upass"]);
            uD.FullName     = vendorDetail.Name;
            uD.PhoneNumber  = vendorDetail.PhoneNumber;
            uD.RoleId       = 6;
            _context.UsersDetails.Add(uD);
            _context.SaveChanges();
            return(Redirect("~/Vendor/Index"));
        }
Ejemplo n.º 13
0
        public ActionResult UpdateVendor(VendorDetail vendorDetail)
        {
            var vendorInDb = _context.VendorDetails.SingleOrDefault(v => v.VId.Equals(vendorDetail.VId));

            vendorInDb.UserName    = vendorDetail.UserName;
            vendorInDb.Address     = vendorDetail.Address;
            vendorInDb.Name        = vendorDetail.Address;
            vendorInDb.Email       = vendorDetail.Address;
            vendorInDb.PhoneNumber = vendorDetail.PhoneNumber;
            _context.SaveChanges();
            var uD = _context.UsersDetails.SingleOrDefault(u => u.UserName.Equals(vendorDetail.UserName));

            uD.UserPassword = encryptPassword(Request.Form["upass"]);
            _context.SaveChanges();
            return(Redirect("~/Vendor/Index"));
        }
Ejemplo n.º 14
0
 public VendorDetailsModel GetVendorDetails(long Id)
 {
     VendorDetailsModel objModel = new VendorDetailsModel();
     using (ShopDevEntities db = new ShopDevEntities())
     {
         try
         {
             VendorDetail vendor = GetVendor(db, Id);
             vendor.CopyProperties(objModel);
         }
         catch (Exception)
         {
         }
     }
     return objModel;
 }
        public IActionResult Post(string username, [FromBody] ProductItem obj)
        {
            HttpResponseMessage response = client.GetAsync(client.BaseAddress + "api/vendor/" + obj.Id).Result;

            if (response.IsSuccessStatusCode)
            {
                string       data     = JsonConvert.SerializeObject(response);
                VendorDetail vendor   = JsonConvert.DeserializeObject <VendorDetail>(data);
                CartItemRepo cartrepo = new CartItemRepo();
                if (cartrepo.PostCartItem(username, obj, vendor))
                {
                    return(Ok());
                }
                return(BadRequest());
            }
            return(BadRequest());
        }
Ejemplo n.º 16
0
 public void Save(DCVendor dcvdr)
 {
     try
     {
         VendorDetail detvdr = new VendorDetail();
         GMUtilities.GMReflectionUtils.Copy(dcvdr, detvdr);
         m_biz.Save(detvdr);
         foreach (DCVendorCountyRate vcr in dcvdr.CountyRate)
         {
             vcr.VendorID = detvdr.ID;
             m_crf.Save(vcr);
         }
         dcvdr.ID = detvdr.ID;
     }
     catch (Exception exp)
     { throw exp; }
     finally { }
 }
        public async Task <IActionResult> Post(VendorDetail vendorDetail)
        {
            if (!ModelState.IsValid)
            {
                return(ModelError());
            }

            var user = await GetCurrentUser();

            vendorDetail.OrganizationId = user.OrganizationId;

            var createResponse = await _vendorService.CreateVendorAsync(vendorDetail, user.Id);

            if (!createResponse.IsSuccess)
            {
                return(BadRequest(createResponse));
            }

            return(Ok(createResponse));
        }
Ejemplo n.º 18
0
        public async Task <IActionResult> Put(VendorDetail vendorDetail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Model has some errors"));
            }

            var user = await GetCurrentUser();

            vendorDetail.OrganizationId = user.OrganizationId;

            var updateResponse = await _vendorService.UpdateVendorAsync(vendorDetail, user.Id);

            if (!updateResponse.IsSuccess)
            {
                return(BadRequest(updateResponse));
            }

            return(Ok(updateResponse));
        }
Ejemplo n.º 19
0
        public bool PostCartItem(string username, ProductItem pitem, VendorDetail vdetail)
        {
            CartItem cItem = new CartItem();

            cItem.UserName       = username;
            cItem.ProductName    = pitem.Name;
            cItem.Price          = pitem.Price;
            cItem.Description    = pitem.Description;
            cItem.VendorName     = vdetail.Name;
            cItem.DeliveryCharge = vdetail.DeliveryCharge;
            //date has been taken by default as vendor does not return date as discribed in document......
            cItem.DeliveryDate = DateTime.Parse("12-10-2020");

            if (pitem.IsAvailable == true)
            {
                cartlist.Add(cItem);
                return(true);
            }
            return(false);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// CreateVendor Method inserts new record in Vendor table and also updates Note table if there is a note
        /// </summary>
        /// <param name="vendorObject"></param>
        /// <param name="userId"></param>
        /// <returns>int</returns>
        public int CreateVendor(int userId, VendorObject vendorObject)
        {
            //define method execution return value to be false by default
            int retMthdExecResult = 0;
            int distillerID       = _dl.GetDistillerId(userId);

            if (vendorObject != null)
            {
                try
                {
                    Vendor tbl = new Vendor();
                    tbl.Name        = vendorObject.VendorName;
                    tbl.DistillerID = distillerID;
                    _db.Vendor.Add(tbl);
                    _db.SaveChanges();

                    VendorDetail tbl1 = new VendorDetail();
                    if (vendorObject.Note != string.Empty && vendorObject.Note != null)
                    {
                        tbl1.Note = vendorObject.Note;
                    }
                    tbl1.VendorID = tbl.VendorID;
                    _db.VendorDetail.Add(tbl1);
                    _db.SaveChanges();
                    retMthdExecResult = tbl.VendorID;
                }
                catch (Exception e)
                {
                    retMthdExecResult = 0;
                    throw e;
                }
            }
            else
            {
                retMthdExecResult = 0;
            }

            return(retMthdExecResult);
        }
Ejemplo n.º 21
0
        public async Task <EntityApiResponse <VendorDetail> > UpdateVendorAsync(VendorDetail vendorDetail, string currentUserId)
        {
            if (vendorDetail is null)
            {
                throw new ArgumentNullException(nameof(vendorDetail));
            }

            var vendor = await _vendorRepository.GetByIdAsync(vendorDetail.Id);

            if (vendor is null)
            {
                return(new EntityApiResponse <VendorDetail>(error: "Vendor does not exist"));
            }

            var country = await _countryRepository.GetByIdAsync(vendorDetail.Country.Id);

            if (country is null)
            {
                return(new EntityApiResponse <VendorDetail>(error: "Country does not exist"));
            }

            vendor.FirstName        = vendorDetail.FirstName.Trim();
            vendor.LastName         = vendorDetail.LastName.Trim();
            vendor.Note             = vendorDetail.Note.Trim();
            vendor.Phone            = vendorDetail.Phone.Trim();
            vendor.Telephone        = vendorDetail.Telephone.Trim();
            vendor.Website          = vendorDetail.Website.Trim();
            vendor.Address1         = vendorDetail.Address1.Trim();
            vendor.Address2         = vendorDetail.Address2.Trim();
            vendor.City             = vendorDetail.City.Trim();
            vendor.Email            = vendorDetail.Email.Trim();
            vendor.ModifiedById     = currentUserId;
            vendor.LastModifiedDate = DateTime.UtcNow;
            vendor.CountryId        = country.Id;

            await _vendorRepository.UpdateAsync(vendor);

            return(new EntityApiResponse <VendorDetail>(entity: new VendorDetail(vendor)));
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Mapping vendor details from SAP to
        /// DB company table object
        /// </summary>
        /// <param name="vendorDetail"></param>
        /// <returns></returns>
        public Company MapCompany(VendorDetail vendorDetail)
        {
            try
            {
                Company company = new Company();

                company.Company_name        = vendorDetail.CompanyName;
                company.Password            = vendorDetail.Password;
                company.InterestedAs        = vendorDetail.InstretedAs;
                company.Pan_number          = vendorDetail.PanNumber;
                company.Contact_Name        = vendorDetail.ContactName;
                company.Contact_Designation = vendorDetail.ContactDesignation;
                company.Contact_email       = vendorDetail.ContactEmail;
                company.Contact_mobile      = vendorDetail.ContactMobile;
                company.CreatedBy           = 56789;
                return(company);
            }
            catch (Exception ex)
            {
                logger.WriteLog(ex);
                throw ex;
            }
        }
Ejemplo n.º 23
0
        /// <summary>
        /// Getting single vendor from SAP
        /// Date: 20 June 2019
        /// Developer: Shreyans Khandelwal(0538)
        /// </summary>
        /// <returns></returns>
        public VendorDetail GetVendor()
        {
            VendorDetail vendorDetModel = new VendorDetail();

            try
            {
                SAPCommonService objSAPCommon = new SAPCommonService();
                RfcDestination   rfcDest      = RfcDestinationManager.TryGetDestination("accelyides");

                if (rfcDest == null)
                {
                    RfcDestinationManager.RegisterDestinationConfiguration(objSAPCommon);
                    rfcDest = RfcDestinationManager.GetDestination("accelyides");
                }

                vendorDetModel = GetVendorDetail(rfcDest);
                return(vendorDetModel);
            }
            catch (Exception ex)
            {
                logger.WriteLog(ex);
                throw ex;
            }
        }
Ejemplo n.º 24
0
        public async Task <EntityApiResponse <VendorDetail> > CreateVendorAsync(VendorDetail vendorDetail, string currentUserId)
        {
            if (vendorDetail is null)
            {
                throw new ArgumentNullException(nameof(vendorDetail));
            }

            var country = await _countryRepository.GetByIdAsync(vendorDetail.Country.Id);

            if (country is null)
            {
                return(new EntityApiResponse <VendorDetail>(error: "Country does not exist"));
            }

            var newVendor = new Vendor
            {
                FirstName      = vendorDetail.FirstName.Trim(),
                LastName       = vendorDetail.LastName.Trim(),
                Email          = vendorDetail.Email.Trim(),
                Address1       = vendorDetail.Address1.Trim(),
                Address2       = vendorDetail.Address2.Trim(),
                Note           = vendorDetail.Note.Trim(),
                City           = vendorDetail.City.Trim(),
                CountryId      = country.Id,
                CreatedById    = currentUserId,
                ModifiedById   = currentUserId,
                Website        = vendorDetail.Website.Trim(),
                Telephone      = vendorDetail.Telephone.Trim(),
                Phone          = vendorDetail.Phone.Trim(),
                OrganizationId = vendorDetail.OrganizationId
            };

            await _vendorRepository.InsertAsync(newVendor);

            return(new EntityApiResponse <VendorDetail>(entity: new VendorDetail(newVendor)));
        }
Ejemplo n.º 25
0
 public void Save(VendorDetail det)
 {
     Save(det, VendorMap.ProcedureSave);
 }
Ejemplo n.º 26
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            if (!ValidateForm())
                return;

            SaveRecord();

            _vendor = new VendorDetail() { VendorType = _vendorType.ToString(), ProcessedDate = DateTime.Now.Date };
            ResetControls();

            if (!_isNewRecord)
                Close();
        }
Ejemplo n.º 27
0
 public void Save(VendorDetail det)
 {
     m_db.Save(det);
 }
Ejemplo n.º 28
0
        public VendorDetail GetVendorDetailsById(int id)
        {
            VendorDetail vendorDetail = _vendorRepository.GetVendorDetailsById(id);

            return(vendorDetail);
        }
Ejemplo n.º 29
0
        public IHttpActionResult Get(string txt)
        {
            SerkoResponse resp = new SerkoResponse()
            {
                response = new Response()
                {
                    Vendor = new VendorDetail()
                },
                status = new Status()
                {
                    success = false, detail = new Detail()
                    {
                    }
                }
            };
            VendorDetail Vendor = new VendorDetail {
                Expense = new ExpenseDetail()
            };

            try
            {
                // add xml tags to make it standard xml document
                txt = "<?xml version='1.0' encoding='utf-8' ?> " + "<body>" + txt + "</body>";

                // remove emails addresses from the text as it has '<' and '>'  which is interpreted as tags
                txt = Utility.RemoveEmails(txt);

                XDocument xmldoc = XDocument.Load(new System.IO.StringReader(txt));
                var       odata  = from o in xmldoc.Elements("body")
                                   select o;



                double total, gst, amount;
                bool   IsTotalNull = false;
                foreach (var item in odata)
                {
                    if (item.Element("vendor") != null)
                    {
                        Vendor.Vendor = item.Element("vendor").Value;
                    }
                    if (item.Element("description") != null)
                    {
                        Vendor.Description = item.Element("description").Value;
                    }
                    if (item.Element("date") != null)
                    {
                        Vendor.Date = item.Element("date").Value;
                    }

                    var odata1 = from o in item.Elements("expense")
                                 select o;
                    foreach (var item1 in odata1)
                    {
                        if (item1.Element("cost_centre") != null)
                        {
                            Vendor.Expense.CostCentre = item1.Element("cost_centre").Value;
                        }
                        if (string.IsNullOrEmpty(Vendor.Expense.CostCentre))
                        {
                            Vendor.Expense.CostCentre = "UNKNOWN";
                        }
                        if (item1.Element("payment_method") != null)
                        {
                            Vendor.Expense.PaymentMethod = item1.Element("payment_method").Value;
                        }
                        if (item1.Element("total") != null)
                        {
                            total = Convert.ToDouble(item1.Element("total").Value);
                            Vendor.Expense.Total = total;
                            amount = total / 1.1; //10% gst
                            gst    = total - amount;

                            Vendor.Expense.Amount = amount;
                            Vendor.Expense.GST    = gst;
                        }
                        else
                        {
                            IsTotalNull = true;
                        }
                    }
                }

                resp.response.Vendor = Vendor;
                if (IsTotalNull)
                {
                    resp.status.success = false;
                    resp.status.detail  = new Detail {
                        errormessage = " total is null"
                    };
                }
                else
                {
                    resp.status.success = true;
                }
            }
            catch (Exception)
            {
                resp.status.success = false;
                resp.status.detail  = new Detail {
                    errormessage = "problem with strating or ending tags "
                };
                resp.response.Vendor = Vendor;
            }
            return(Ok(resp));
        }
Ejemplo n.º 30
0
        public VendorDetail GetVenderbyId(int ProductId)
        {
            VendorDetail obj = vendors.Where(x => x.Id == ProductId).FirstOrDefault();

            return(obj);
        }