public ActionResult DraftComments(string id, ORDR draft)
        {
            try
            {
                string realId = HexSerialization.HexToString(id);
                ORDR ordr = BizSalesOrderDraft.GetSingle(int.Parse(realId));

                ordr.draftComments = draft.draftComments;

                BizSalesOrderDraft.Update(ordr);

                return RedirectToAction("Create");
            }
            catch (FaultException<DataAccessFault> ex)
            {
                ViewBag.colorMensaje = "danger";
                ViewBag.mensaje = "No se pudo crear la Orden de venta";
                ViewBag.docEntry = string.Format("Codigo {0} error:{1} {2}", ex.Code, ex.Detail.Description, ex.Message);
            }

            catch (Exception ex)
            {
                ViewBag.colorMensaje = "danger";
                ViewBag.mensaje = "Atención:";
                ViewBag.docEntry = string.Format(" - {0}", ex.Message);
            }
            return View();
        }
        public ActionResult Approve(string id, ORDR approvedOrder)
        {
            #region User identification
            IIdentity context = HttpContext.User.Identity;
            string userId = "";
            bool admin = false;
            bool customerCreator = false;
            bool purchaseOrderCreator = false;
            bool orderApprover = false;
            int companyId = 0;
            string userName = "";
            AppConnData appConnData = new AppConnData();

            if (context.IsAuthenticated)
            {

                System.Web.Security.FormsIdentity ci = (System.Web.Security.FormsIdentity)HttpContext.User.Identity;
                string[] userRole = ci.Ticket.UserData.Split('|');
                userId = userRole[0];
                admin = int.Parse(userRole[1]) == 1 ? true : false;
                customerCreator = int.Parse(userRole[2]) == 1 ? true : false;
                purchaseOrderCreator = int.Parse(userRole[3]) == 1 ? true : false;
                companyId = int.Parse(userRole[4]);
                userName = ci.Name;
                appConnData = GetAppConnData(companyId);
                orderApprover = int.Parse(userRole[7]) == 1 ? true : false;
            }
            #endregion

            string realId = HexSerialization.HexToString(id);
            ORDR ordr = BizSalesOrderDraft.GetSingle(int.Parse(realId));
            ordr.authStatus = true;
            ordr.authUser = userId;

            var myTimeZone = TimeZoneInfo.FindSystemTimeZoneById("SA Pacific Standard Time");
            ordr.authDate = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, myTimeZone);

            ordr.authComments = approvedOrder.authComments;

            BizSalesOrderDraft.Update(ordr);

            return RedirectToAction("Finish", new { id = id });
        }
        public ActionResult Create(ORDR order)
        {
            #region User identification
            IIdentity context = HttpContext.User.Identity;
            string userId = "";
            bool admin = false;
            bool customerCreator = false;
            bool purchaseOrderCreator = false;
            int companyId = 0;
            string userName = "";
            int slpCode = 0;
            AppConnData appConnData = new AppConnData();

            if (context.IsAuthenticated)
            {

                System.Web.Security.FormsIdentity ci = (System.Web.Security.FormsIdentity)HttpContext.User.Identity;
                string[] userRole = ci.Ticket.UserData.Split('|');

                userId = userRole[0];
                admin = int.Parse(userRole[1]) == 1 ? true : false;
                customerCreator = int.Parse(userRole[2]) == 1 ? true : false;
                purchaseOrderCreator = int.Parse(userRole[3]) == 1 ? true : false;
                companyId = int.Parse(userRole[4]);
                slpCode = int.Parse(userRole[5]);
                userName = ci.Name;
                appConnData = GetAppConnData(companyId);
            }
            #endregion

            List<CompanyParameter> companyParameters = BizCompanyParameter.GetList(companyId).ToList();
            string defaulSeries = companyParameters.Where(x => x.idParameter.Equals(8)).Select(x => x.value).FirstOrDefault();

            if (!string.IsNullOrEmpty(defaulSeries))
            {
                List<DocumentSeries> docSeries = backEnd.GetDocumentSeriesList(SapDocumentType.SalesOrder, appConnData);
                int serie = docSeries.Where(x => x.seriesName == defaulSeries).Select(x => x.series).FirstOrDefault();

                if (serie != null)
                    order.series = serie;

            }

            order.uOrkUsuarioWeb = userId;
            order.idCompania = companyId;
            order.slpCode = slpCode;
            order.uLatitud = !string.IsNullOrEmpty(order.uLatitud) ? order.uLatitud : "4.690449";
            order.uLongitud = !string.IsNullOrEmpty(order.uLongitud) ? order.uLongitud : "-74.0515331";

            var myTimeZone = TimeZoneInfo.FindSystemTimeZoneById("SA Pacific Standard Time");
            order.docDate = order.docDate.AddHours(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, myTimeZone).Hour).AddMinutes(TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, myTimeZone).Minute);

            int orderNum = BizSalesOrderDraft.Add(order);

            return RedirectToAction("AddLine", new { id = HexSerialization.StringToHex(orderNum.ToString()) });
        }